其他分享
首页 > 其他分享> > 【C语言基础】机器数真值、原码、反码、补码

【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