- 数据存储:计算机储存数据,先开辟内存空间,再存储数据,计算机开辟内存的最小单位是字节,二进制;
- 原码/反码/补码是计算机运算的基础,在计算机中,数值的运算是基于二进制,而数值有正数和负数
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
【在计算机中存储数据的形式是补码,要想让人看懂需要将其转换为原码】
网友评论