负数加减乘除的问题

来源:互联网 发布:ajaxfileupload php 编辑:程序博客网 时间:2024/05/25 18:10

加减乘除都用补码,得到的值为正数,补码即使原码,若为负数,补码减1再取反得到原码既可读出读数。

1.加法

-2+3=1

-2 补码 11111110 (8位)  3的补码00000011(8位) 结果是100000001(9位) 左边溢出一位1直接去掉,留下来的结果得到1

2.减法

-2+(-2)  11111110(8位)  11111110(8位) 结果是111111100(9位) 左边溢出一位1直接去掉,11111100(8位) 是(10000100)的补码形式,而10000100的值是-4

3.乘法

-2 * -5  11111110(8位)11111011(8位)

 

原创粉丝点击