计算机中数据的表示

来源:互联网 发布:mysql 升序 降序 desc 编辑:程序博客网 时间:2024/05/02 02:20
        在计算机中以二进制形式来表示数据,这是因为计算机中的每个电子元器件只有带电和不带电两种状态,1表示带电状态,0表示不带电状态。

数据的二进制表示方法又分为3种:

原码:最高位为符号位,0代表正数,1代表负数,其余各位是数值本身的绝对值。
例如:(我们用一个字节来表示)
+7的原码表示为:00000111;
-7的原码表示为:10000111;

+0的原码表示是:00000000;
-0的原码表示是:10000000;

反码:正数的反码与原码相同,负数的反码其最高位为1,其余各位是对原码的取反。
例如:
+7的反码表示是:00000111;
-7的反码表示是:11111000;

+0的反码表示是:00000000;
-0的反码表示是:11111111;

补码:正数的补码与原码相同,负数的补码其最高位为1,其余各位是对原码的取反再加一。
例如:
+7的补码表示是:00000111;
-7的补码表示是:11111001;

+0的补码表示是:00000000;
-0的补码表示是:00000000;

        通过上面的例子我们可以看出,只有在使用补码表示数据的时候0的表示才唯一,所以,在计算机中采用补码的形式来表示数据。

对于一个在计算机中用补码表示的数,我们怎样能知道其表示的十进制的数据是多少呢?
1.通过最高位来判断是表示的是正数还是负数,若是正数直接转换为十进制数。
2.若是负数,对各位取反,转换为十进制数,添上负号,减一。

如一个数的二进制补码是11111001,
1.判断最高位是1,表示是一个负数;
2.对各位取反后是00000110;
3.转换为十进制数是6;
4.添上负号是-6,减一为-7。
原创粉丝点击