求补码步骤
原补转换
-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
待补充