木子屋 Dnawo's BLOG

补码的作用

👤 dnawo 📅 2010-11-13 👁 6069 👍 0 💬 0 🔄 本站原创
在计算机系统中,数值都是用补码来存储的,它有什么用呢?我们先来看一个加法的例子: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的补码。

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

评论(0)

暂无评论。

计算题
评论需审核通过后显示
← 上一篇 C++函数也要先声明再使用? 下一篇 → C++的内联函数