【原码补码反码】

原码补码反码

计算机底层存储数据时使用的是二进制数字,但是计算机在存储一个数字时并不是直接存储该数字对应的二进制数字,而是存储该数字对应二进制数字的补码。

数字 原码 负数
0 0000 0 1000
1 0001 -1 1001
2 0010 -2 1010
3 0011 -3 1011
4 0100 -4 1100
5 0101 -5 1101
6 0110 -6 1110
7 0111 -7 1111

原码:
最高位表示符号位,0表示正数,1表示负数,其余位表示数值大小。例如,+2的原码是00000010,-5的原码是10000010。

反码:
正数的反码和原码相同,负数的反码是将原码中除符号位外的所有位按位取反。例如,+2的反码是00000010,-2的反码是11111101。

补码:
正数的补码和原码相同,负数的补码是将原码中除符号位外的所有位按位取反后加1。例如,+2的补码是00000010,-2的补码是11111110。

原码、反码和补码是用于表示带符号整数的三种编码方式。原码表示直观,反码解决了加法问题,而补码不仅解决了加法问题,还能够自然处理负数的表示和溢出问题

你可能感兴趣的:(c语言)