求二进制数的原码需要根据数值的正负性进行不同处理,具体方法如下:
一、正数的原码
正数的原码与二进制表示完全相同,只需在最高位添加符号位“0”即可。例如:
正数 $+7$ 的原码为 $00001111_2$
正数 $+10$ 的原码为 $00001010_2$
二、负数的原码
负数的原码需要通过以下步骤获得:
取绝对值的二进制表示:
先计算该负数的绝对值的二进制形式。例如,$-7$ 的绝对值是 $7$,其二进制为 $00001111_2$。
符号位置为“1”:
在绝对值的二进制表示最前面添加符号位“1”。例如,$-7$ 的原码为 $10001111_2$。
三、特殊说明
零的原码:存在两种表示形式
$+0$ 的原码为 $00000000_2$
$-0$ 的原码为 $10000000_2$
溢出处理:若数值超出8位表示范围(如 $-128$ 需9位),需扩展位数再计算
四、示例总结
| 数值 | 原码(8位) | 符号位说明 |
|-------|------------------|------------|
| +7| 00001111 | 正数 |
| -7| 10001111 | 负数 |
| +10 | 00001010 | 正数 |
| -10 | 10001010 | 负数 |
| +0| 00000000 | 零 |
| -0| 10000000 | 零 |
通过上述方法,可以系统地计算出任意二进制数的原码。