Day03原码反码和补码

2018-09-27  本文已影响0人  PythonLi

计算机在存数字的时候存的都是二进制的补码

计算机内存的最小单位是;位,1位只能存储两个状态。

8位就叫一个字节。

a.原码;整数数字的二进制形式

十进制的10的原码就是;1010
最高位是符号位不参与存储数字,如果是整数符号位为0,负数符号位为1
10的原码 00000000 00001010
—10的原码 10000000 00001010

b.反码

整数的反码是它的原码
负数的反码就是这个数的符号位不变,然后其他位置上的数取反(0变1,1变0)
-10->(原码)10000000 00001010--反码 11111111 11110101

c.补码

整数的补码就是它的原码
负数的补码是它的反码加1
-10->反码 11111111 11110101->补码 11111111 11110110(最后一位加1,以二进制方式)

总结;整数的反码和补码都是原码;负数的反码就是这个数的符号位不变,然后其他位置上的数取反,补码就是反码加1

为什么计算机存储数据的时候存补码;因为计算机中只有加法器,只能进行加操作,存原码对负数进行加操作的时候又问。

整数负数相加要加负数的补码。

上一篇 下一篇

猜你喜欢

热点阅读