由于生病,我错过了一天的课,所以我检查了我的教授。那天在线的材料,我坚持这个。他的笔记没有解释如何做到这一点。我可以在质量之间进行转换(十进制到八进制,十六进制,二进制等),但我不能这样做。
有任何帮助吗?一个例子真的可以帮助我快速理解。我将发布他的幻灯片示例:
1010 0000 0100 0101 as an unsigned value
= (1 * 2^15) + (1 * 2^13) + (1 * 2^6) + (1 * 2^2) + (1 * 2^0)
= (32,768) + (8192) + (64) + (4) + (1)
= 32,768 + 8261 = 41,029 base 10
1010 0000 0100 0101 as a signed value
= - [(1 * 2^13) + (1 * 2^6) + (1 * 2^2) + (1 * 2^0)]
= -8,261 base 10
我想即使我生病了也应该上课。
答案 0 :(得分:1)
有符号整数和无符号整数之间的差异是其中一个位,在这种情况下,最左边的位用于指示值是正还是负。在这种情况下,如果最左边的位为1,则该值为负,当最左边的位为0时,该值为正。
所以在你的教授给出的例子中,
1010 0000 0100 0101
根据情况,可以解释为有符号整数或无符号整数。当解释为有符号整数时,该值将计算出
(1 * 2^15) + (1 * 2^13) + (1 * 2^6) + (1 * 2^2) + (1 * 2^0) = 41092
当解释为无符号值时,从最左边的位得到符号,从其余位得到整数的值
- [(1 * 2^13) + (1 * 2^6) + (1 * 2^2) + (1 * 2^0)] = - 8261
希望这有帮助!
答案 1 :(得分:1)
Sign是第15位。因此,你所要做的就是基本计算一个地方(即2 ^位)并将它们加在一起。