若一个补码为1,其原码为?
在阅读CSAPP的P57,完成练习题2.24时发现一个我的概念理解边界:若一个补码为XXX1,在截断其前3位后,那么它的原码为?这道题目令我一个好久没有看计组的渣渣挣扎了好久。
当时想到了以下解题思路,但是都没有得到答案…
- CSAPP的P45中对于补码编码的定义如下:
对于向量 x ⃗ = [ x w − 1 , x w − 2 , … , x 0 ] : \vec{x}=[x_{w-1}, x_{w-2}, {\ldots} ,x_0]: x=[xw−1,xw−2,…,x0]: B 2 T w ( x ⃗ ) = − x w − 1 2 w − 1 + ∑ i = 0 w − 2 x i 2 i B2T_{w}(\vec{x})=-x_{w-1}2^{w-1}+\sum_{i=0}^{w-2}x_i2^i B2T