
指导师老郭为您分享以下优质知识
有符号二进制数的表示方法主要涉及符号位和数值位的组合,具体规则如下:
一、符号位的定义
最高位为符号位:二进制数的最左端位(第1位)用于表示数的符号,0表示正数或零,1表示负数。
二、数值位的表示
无符号数:所有位均用于表示数值大小,不考虑正负。
有符号数:除符号位外,其余位表示数值大小。
三、补码表示法(计算机常用)
补码的定义:负数的补码是其原码逐位取反后加1,正数的补码与原码相同。
补码的优越性:补码表示法解决了原码和反码中“+0”和“-0”的问题,且简化了加减法运算。
示例:
8的二进制表示:
- 原码:0000 1000
- 反码:0000 1000(正数反码与原码相同)
- 补码:0000 1000(正数补码与原码相同)
-8的二进制表示:
- 原码:1000 1000
- 反码:1111 0111
- 补码:1000 0000(符号位为1,其余位取反后加1)
四、表示范围
n位有符号数:
最大值:$2^{n-1} - 1$(如8位有符号数最大值为127)
最小值:$-2^{n-1}$(如8位有符号数最小值为-128)
五、示例对比
| 二进制数 | 无符号值 | 原码(8位) | 反码(8位) | 补码(8位) |
|----------------|----------|------------|------------|------------|
| 0000 1000 | 8| 0000 1000 | 0000 1000 | 0000 1000 |
| 1000 0000 | 0| 1000 0000 | 1111 1111 | 1000 0000 |
| 1101 0110 | 214 | 1101 0110 | 1010 1001 | 1010 1101 |
| 1101 1010 | -86 | 1101 1010 | 1010 0101 | 1010 0010 |
六、扩展说明
原码与反码:负数的原码和反码需单独表示,但补码通过加1操作统一了表示形式。
移码:符号位取反加1,常用于浮点数运算中的阶码表示。
通过以上规则,有符号二进制数能够统一表示正数、负数和零,并简化计算机中的算术运算。