1.3原码/反码/补码

2020-03-09  本文已影响0人  指向远方的灯塔
1.1 原码

二进制的定点表示法,即最高位为符号位,“0”:表示正数,“1”:表示负数,其余位表示数值的大小;

例如:通过一个字节-----8位  二进制表示+10  -10
0000 1010   -----> +10
1000 1010   ----->  -10
1.2 反码

正数的反码与原码相同,负数的反码是对其原码逐位取反(0变为1,1变为0),符号位除外。

+10      0000 1010
-10       1000 1010  --->反码   1111   0101
1.3 补码

正数的补码和原码相同,负数的补码是在反码的末尾加1

+10   0000    1010
-10    原码  1000   1010
         反码   1111    0101
                                    1
----------------------------------------
         补码   1111    0110

【注意:计算机中所有的数据都是以补码的形式存在】

思考:在计算机中,为什么不用原码和反码,而用补码?
以10 - 10 = 0为例(计算机以10 + (-10)进行计算)
1.使用原码计算10-10
+10: 0000   1010
-10: 1000    1010
---------------------------
           1001    0100 ------> -20

2.使用反码计算10-10:
+10:   0000    1010
-10:    1111     0101
---------------------------------
           1111    1111(反码)------->原码:1000 0000 -----> -0

3.使用补码计算10-10:
+10:   0000       1010
-10:     1111       0110
-----------------------------
           0000      0000  ------> 0

【在计算机中存储数据的形式是补码,要想让人看懂需要将其转换为原码】

上一篇下一篇

猜你喜欢

热点阅读