【C语言基础】机器数真值、原码、反码、补码
作者:互联网
机器数真值、原码、反码、补码
一、机器数、真值
一个数在计算机中的二进制表示形式, 叫做这个数的机器数,对应的实际数值为真值。
(最高位是符号位,1负0正)
+3 | -3 | 真值 |
---|---|---|
0000 0011 | 1000 0011 | 机器数 |
二、原码
原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值。
eg: [+1]原 = 0000 0001
[-1]原 = 1000 0001
三、反码
正数的反码是其本身,负数的反码是在其原码的基础上, 符号位不变,其余各个位取反。
eg: [+1] = [00000001]原 = [00000001]反
[-1] = [10000001]原 = [11111110]反
四、补码
正数的补码就是其本身,负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1
(就是反码+1)
eg: [+1] = [00000001]原 = [00000001]反 = [00000001]补
[-1] = [10000001]原 = [11111110]反 = [11111111]补
五、为什么要有这些
标签:0000,0001,补码,1111,反码,原码,1000 来源: https://www.cnblogs.com/liaozhelin/p/16290631.html