二进制小数的补码表示方法如下,分为整数部分和小数部分两种情况:
一、整数部分的补码
原码:
符号位为0(正数),其余位与数值相同;符号位为1(负数),其余位取反。
反码:
符号位不变,数值位逐位取反。
补码:
反码加1。
二、小数部分的补码
原码:
符号位为0(正数),小数位与数值相同;符号位为1(负数),小数位逐位取反。
反码:
符号位不变,小数位逐位取反。
补码:
反码加1。
补码运算规则
加法:[A]补 + [B]补 = [A+B]补(模2^n)。
减法:[A-B]补 = [A]补 + [-B]补(模2^n)。
符号扩展:负数补码需在符号位后补足位数(如8位时,4位负数补码为11111100)。
示例
以8位二进制小数为例:
正数0.101(原码0.10100000):补码与原码相同。
负数-0.101:原码1.10100000 → 反码1.01011111 → 补码1.01100000。
注意事项
负数补码计算需连同符号位一起取反加1。
补码运算时需注意进位/借位处理。