1
我不明白爲什麼一個n位2C系統編號可以通過使位bn = bn-1擴展到(n + 1)位2C系統編號,即擴展到(n +1)位複製符號位。理解二的補碼
我不明白爲什麼一個n位2C系統編號可以通過使位bn = bn-1擴展到(n + 1)位2C系統編號,即擴展到(n +1)位複製符號位。理解二的補碼
這是有效的,因爲我們計算二進制整數的方式。
Working right to left, the sum of each bit_i * 2^i,
where
i is the range 0 to n
n is the number of bits
由於每個後續0位將不會增加和的大小,它是適當的值,以墊更小的值到更廣泛的比特字段。
例如,使用5號:
4 bit: 0101
5 bit: 00101
6 bit: 000101
7 bit 0000101
8 bit: 00000101
相反的是一種用於在二進制補系統負數真。 記住,你先計算一個人的讚美,然後從前面的例子中加入1
反轉值來獲得計算二進制補-5:
4 bit: 0101 (invert)-> 1010 + 1 -> 1011
5 bit: 00101 (invert)-> 11010 + 1 -> 11011
6 bit: 000101 (invert)-> 111010 + 1 -> 111011
7 bit: 0000101 (invert)-> 1111010 + 1 -> 1111011
8 bit: 00000101 (invert)-> 11111010 + 1 -> 11111011