求补码步骤

原码补码相关运算-LMLPHP

原补转换

-127为负数,其补码为原码01111111,取反10000000,加一,10000001。

例如:

【-1】原码 10000001 反码bai11111110 补码duzhi 11111111

【3】原码 00000011 反码 00000011 补码 00000011

【-127】原码11111111 反码 10000000 补码 10000001

【127】原码 01111111 反码 01111111 补码 01111111

补码加法

正数:+3
补码[0011] = 原码[0011] = 反码[0011]

负数:-3
补码[1101] = 反码[1100] = 原码[1011]

当数据位小数时。
-1.25 = 原码[1001.0100] = 反码[1110.1011]=补码[1110.1100]
3.75 = 原码[0011.1100] = 反码[0011.1100] = 补码[0011.1100]

-1.25 + 3.75 = 2.50;
1110.1100 + 0011.1100 = 0010.1000 = 2.50;

补码乘法

符号位参与运算

设x=-0.1101, y=  0.1011 才用booth算法求x×y

[x]补 = 11.0011 [-x]补 = 00.1101 y[补] = 00.1011

结果为 -0.10001111

补码除法

[x]原 = 00.1000 [x]补 = 00.1000 

[y]原 = 11.1011 [y]补 = 00.1011

待补充

11-12 17:28