了解两个人的补语和一个人的补语

时间:2019-09-03 04:27:58

标签: twos-complement

我的教科书(Patterson,第5版,计算机组织)中有两句话我没得到:

第一:

  

Two的补码取自n位数字和n位负数的无符号和为2 ^ n的规则而得名。因此,数字x的取反或补码为2 ^ n-x或“ 2的补码”。

说我有一个4位数字2 = 0010 它为负= -2 = 1110

如果我添加它们,我得到10000(这是溢出吗?这很不好吗?)16对吗?而未签名的1110是14?那是那句话在说什么?

  

两个补码,符号和大小的第三个替代表示形式称为一个补码。补码的负数是通过将0到1以及1到0或x的每一位取反而得出的。由于x的补码为2 ^ n-x-1,因此该关系有助于说明其名称。

那是什么意思?您能举个例子来帮助我了解为什么这样命名吗?

假设我们的二进制表示形式为2:

2 = 0000 0000 0000 0000 0000 0000 0000 0010

一个人的补语是:

-2 = 1111 1111 1111 1111 1111 1111 1111 1101

是负面的吗?如果是这样,2 ^ n-x-1怎么样?

--------------------

我理解两个人的补语:

  

将每个0到1和每个1到0简单地反转,然后将一个加到结果中。此快捷方式基于以下观察:数字和其倒数表示的总和必须为111 ...(其中的32个)111,代表-1。

所以2 = 0000 0000 0000 0000 0000 0000 0000 0010

如果我们否定2:

1111 1111 1111 1111 1111 1111 1111 1101

并添加1:

1111 1111 1111 1111 1111 1111 1111 1110

= -2

但是我对自己的补语有些困惑。不加1就是二的补码吗?

0 个答案:

没有答案