【发布时间】:2017-04-18 01:12:15
【问题描述】:
我正在做一个关于 2 的补码的问题,我只是在徘徊 2 的补码的位值。例如,在二进制中,位值类似于 1 2 4 8 16 32 并加倍为 2。但我不确定负数的位值是多少。
我的问题是问你这个数字 10110001 是一个 2 的补码整数它会是什么。我认为你翻转数字并加一个,但我怎样才能找到这个值?
【问题讨论】:
-
这似乎是cs.stackexchange.com的问题
我正在做一个关于 2 的补码的问题,我只是在徘徊 2 的补码的位值。例如,在二进制中,位值类似于 1 2 4 8 16 32 并加倍为 2。但我不确定负数的位值是多少。
我的问题是问你这个数字 10110001 是一个 2 的补码整数它会是什么。我认为你翻转数字并加一个,但我怎样才能找到这个值?
【问题讨论】:
在 2 的补码系统中,最重要的位置(“符号位”,虽然这个术语会引起混淆,因为它不是纯粹的符号)的权重为 -2k,其中 k 是它的索引,例如 8 位:
weights: -128 +64 +32 +16 +8 +4 +2 +1
example: 1 1 1 1 1 1 0 0 (0xFC) = -128+64+32+16+8+4 = -4
【讨论】: