
吕老师为您分享以下优质知识
带符号二进制数的计算主要涉及原码、补码和反码的转换及运算规则,具体如下:
一、表示方法
- 正数:符号位为0,数值位直接表示绝对值(如+81的原码为0 1010001B)
- 负数:符号位为1,数值位为绝对值的二进制形式(如-81的原码为1 1010001B)
- 范围:-(2^n-1) 到 +(2^n-1)(n为位数,如8位时范围为-127到+127)
补码
- 计算方法:负数补码=反码+1(符号位不变)
- 优点:加法运算统一处理正负数,无需单独处理符号位
- 示例:-81的补码为1 10100011(反码1 10100010+1)
反码
- 负数反码:符号位为1,数值位按位取反(如-81的反码为1 01011101)
- 仅用于减法运算,实际计算机中多用补码
二、运算规则
加法
- 直接按位相加,逢2进1,符号位与数值位同步处理
- 示例:10101010(-32)+ 00101010(32)= 00000000(0)
减法
- 转换为加法:被减数+减数补码
- 示例:10101010(-32)- 00101010(32)= 10010100(-64)
乘法
- 符号位单独处理:同号得正,异号得负
- 数值位逐位相乘,符号位扩展后相加
- 示例:-3(101)× 3(011)= -9(101×011=110111,符号位为1)
三、注意事项
溢出检测:
加法时若符号位不同且数值位全1则溢出
效率优先:实际计算机中普遍采用补码进行运算,简化硬件实现