计算机原码、反码和补码

计算机存储数据的时候存的是数字的补码
程序员编程能操作的最小单位是字节,申请内存:malloc(字节)
正数的原码,反码,补码是一样的
####1.原码
原码=符号位+真值
符号位:最高位表示符号位(0表示正,1表示负)
真值:数字的绝对值的二进制
10的原码:00001010
符号位:0
真值:0001010
256的原码:00000001 00000000
-256的原码:100000001 00000000
56的原码:00111000
171的原码:00000000 10101011
-171的原码:10000000 10101011
###2.反码
只有负数才有反码,原码 符号位不变,其他位按位取反
-10的反码:11110101
-256的反码:11111110 11111111
###3.补码
负数的补码,反码***加1***
10的补码:00001010
-10的补码:11110110
###4.计算机运算
3+2=5
00000011 + 00000010 = 00000101 ->5
3-2=1
00000011(补码)+11111110(补码)=00000001(补码)->00000001(补码)=1
2-10=-8
00000010 + 11110110=11111000(补码) -> 11110111(反)->10001000->-8

猜你喜欢

转载自blog.csdn.net/yang_yang_heng/article/details/106673049