1

计算机的编码方式

机器数、真值

在计算机中以二进制的形式保存的数就是机器数。在机器数中首位是表示正负号的。0:正数,1:负数。
机器数表示的真正数就是真值。如:00000001=+1,10000001=-1

原码反码补码

原码:符号位+真值的绝对值。
反码:非负数,本身。

 负数,符号位不变,其余各们取反。  

补码:非负数,本身。

 负数,符号位不变,其余各位取反,+1.即原码的反码加1.    

用途

在cpu中把减法转换为加法。

1 - 1
= 1 + (-1)
= [00000001]原 + [10000001]原
= [00000001]反 + [11111110]反
= [11111111]反
= [10000000]原
= -0
// 这种表示方法不对。0不应该有正负。
// 正确过程
1 - 1
= 1 + (-1)
= [00000001]原 + [10000001]原
= [00000001]补 + [11111111]补
= [00000000]补
= [00000000]原
= 0

1 - 2
= 1 + (-2)
= [00000001]原 + [10000010]原
= [00000001]补 + [11111110]补
= [11111111]补
= [11111110]反
= [10000001]原
= -1

转换关系

图片描述


飞机
124 声望3 粉丝