
灯塔何老师为您分享以下优质知识
二进制中负数的表示方法主要采用 补码(Two’s Complement)形式,具体规则如下:
一、基本概念
最高位(最左边的位)用于表示符号,0表示正数,1表示负数。例如:`0000 0010`表示+2,`1000 0010`表示-2。
原码与反码
- 原码:
直接将数值转换为二进制,符号位固定。例如:+5的原码为`0000 0101`,-5的原码为`1000 0101`。 - 反码:原码除符号位外逐位取反。例如:-5的反码为`1111 1010`。 - 补码:反码加1。例如:-5的补码为`1111 1011`。
二、补码规则
- 求绝对值的二进制原码;
- 逐位取反(0变1,1变0);
- 最低位加1。2. 范围与表示
- 8位二进制数范围:-128到+127;
- 例如:-18的原码为`10010010`,反码为`11101101`,补码为`11101110`。
三、优势
简化运算:
加法和减法统一处理,无需区分正负;
硬件友好:减少电路复杂度,提高计算效率。
四、注意事项
符号位约定:编程中通常仅约定最高位为符号位,其余位为数值位;
无符号数转换:补码直接按二进制解释,符号位不影响数值范围。例如:`1111 1111`无符号表示255,有符号表示-1。