有人可以解释这个问题吗?
以下5位二进制补码之和的十进制值是多少? 10010 10101 +
答案 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