以下5位二进制补码之和的十进制值是多少?

时间:2014-10-22 04:59:01

标签: sum decimal twos-complement

有人可以解释这个问题吗?

以下5位二进制补码之和的十进制值是多少? 10010 10101 +

2 个答案:

答案 0 :(得分:3)

通过二进制算法将两个补码加在一起。

10010 + 10101 =


00111

与正常数字一样,如果在添加时同时击中两个数字,则将数字带到下一个位置。

要解释两个补码数,你必须要明白第一位代表一个值2 ^ 0,第二位是2 ^ 1,第三位是2 ^ 2,第四位是2 ^ 3。此模式自然地扩展为32位和64位数。 5位二进制补码中的最后一位表示-2 ^ 4。

将这些值乘以我们提出的位:

-0 * 2 ^ 4 + 0 * 2 ^ 3 + 1 * 2 ^ 2 + 1 * 2 ^ 1 + 1 * 2 ^ 0

此值为4 + 2 + 1 = 7.如果我们查看10010的十进制值,我们看到它等于-2 ^ 4 + 2 ^ 1 = -16 + 2 = -14。 10101出现在-11。

所以计算机说的是(-11)+( - 14)之和为7.这是因为溢出,我们忽略了最后一位应该有1进位到下一列的事实。给出有限的表示,这是我们能做的最好的。

溢出的特征是一堆整齐的属性,因为我们的表示是一个阿贝尔群,一个数学结构。它超出了问题的范围,但你当然应该理解它们。只是谷歌溢出。

此外,大多数答案都会很简单,因为它是谷歌可以解决的基本主题,而StackOverflow会得到足够多的问题。在提问之前,请务必检查谷歌并搜索StackOverflow!

答案 1 :(得分:-1)

10010=2^4+2^1=16+2=18
10101=2^4+2^2+2^0=21
22+18=39

^=power