
智启星辰为您分享以下优质知识
二进制的真值表示方法主要分为带符号数和无符号数两种情况,具体如下:
一、带符号数(原码、反码、补码)
- 最高位为符号位(0表示正数,1表示负数),其余位为数值位。 - 例如:
- +5 → `00000101`
- -5 → `10000101`
- 特点:存在+0和-0的区分,无法直接进行减法运算。
反码
- 符号位不变,数值位逐位取反。 - 例如:
- -5 → `11111010`(原码`10000101`取反)。
补码
- 反码末位加1。 - 例如:
- -5 → `11111011`(反码`11111010`加1)。
二、无符号数
所有位均为数值位,符号位隐含为0。- 例如:
`11010100` → 真值为208(十进制)。
三、真值与机器数的转换
计算方法:
若最高位为1(符号位),则需根据原码、反码、补码规则转换;若为0,则直接按二进制数值解释。 - 例如:
- 机器数`11010100`(带符号)→ 真值-16(十进制);
- 机器数`11010100`(无符号)→ 真值208(十进制)。
四、注意事项
带符号数中,原码、反码、补码形式不同,补码是计算机内部唯一可运算的形式。- 真值是实际数值,而机器数是计算机内部编码,需根据符号位规则转换。