补码的作用

在计算机系统中,数值都是用补码来存储的,它有什么用呢?我们先来看一个加法的例子:2+1

00000010
+
00000001
=
00000011

结果为3

再来看一个减法的例子:2-1
可是计算机不会做减法,所以变换成2+(-1)

00000010
+
10000001(第1位为符号位)
=
10000011

结果为-3,显然是错的,经推算后就有如下运算:

00000010
+
11111111
=
00000001

结果为1,11111111怎么来的呢?它是10000001的反码(逐位取反)再加1得到的,这边10000001是-1的原码,11111111就是-1的补码。

定理:正数的补码和原码的值一样,负数的补码是原码的反码加一后的值。

上一篇: C++函数也要先声明再使用?
下一篇: C++的内联函数
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
最新日志:
评论: 0 | 引用: 0 | 查看次数: 5523
发表评论
登录后再发表评论!