8086汇编3:负数的表示法-补码

来源:互联网 发布:js关闭页面事件 编辑:程序博客网 时间:2024/06/06 19:43


负数的表示法


在原来的系统中,负数采用第一位为1,正数位0的做法,比如:


3: 00000011
-3:10000011
但这样有一种特殊的情况,即0的表示会有正负值,即
0: 00000000
-0:10000000
这样的表达容易使计算机混乱,于是负数使用了补码的方式,即整数求反+1
比如-3的表示方式:


3   =>00000011
求反=>11111100
补码->11111101


那么0的补码为:
原码:00000000
求反:11111111
补码:00000000  :还是 0


这样0就不存在2种表示方式了。
另外,使用补码之后,正数与负数相加也可以使用同一个加法指令来处理。


比如-3 + 3
则是由:
00000011
+
11111101
==0


而按照原来的表达方式则是:
00000011
+
10000011
处理起来比较麻烦
因此补码来表示负数是相当科学的
0 0
原创粉丝点击