1.3原码/反码/补码

  • 数据存储:计算机储存数据,先开辟内存空间,再存储数据,计算机开辟内存的最小单位是字节,二进制;
  • 原码/反码/补码是计算机运算的基础,在计算机中,数值的运算是基于二进制,而数值有正数和负数
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

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

你可能感兴趣的:(1.3原码/反码/补码)