在我的期中考试中,有这样一道题:给定十进制值,表示每个数字所需的最小二进制位数是多少?这些值分别是:-26、-1、10、-15、-4。我完全没有答对这道题,解决方案令人困惑。我唯一真正理解的部分是找到值所在的范围。例如,-15将位于[-2^5,2^5)范围内,-4将位于[-2^2,2^2)范围内。从这里开始需要哪些步骤才能确定所需的位数呢?我尝试找到一些模式来解决问题,但只适用于前两种情况。这是我的尝试:
同样,这仅适用于前两个值,并且现在我被卡住了,无法找到整数在二进制补码形式下所需的位数与实际整数之间的关系。提前感谢!
- 首先找到范围。-2^6 < -26 < 2^6
- 然后找到2^6 = 32的值。
- 然后找到“最接近”边界和该值之间的差异。
同样,这仅适用于前两个值,并且现在我被卡住了,无法找到整数在二进制补码形式下所需的位数与实际整数之间的关系。提前感谢!