1. 程式人生 > >負數的二進位制表現形式(對應的正數二進位制取反加1)

負數的二進位制表現形式(對應的正數二進位制取反加1)

舉個例子:
在java中,int型別的資料在記憶體中佔32個位元組。

正整數 6 用二進位制表示:
0000-0000 0000-0000 0000-0000 0000-0110 

負整數 -6 用二進位制表示:

1. 對應的正數二進位制取反
        0000-0000 0000-0000 0000-0000 0000-0110

        1111-1111 1111-1111 1111-1111 1111-1001   (取反)
    +   0000-0000 0000-0000 0000-0000 0000-0001   (加1 )
----------------------------------------------------------
        1111-1111 1111-1111 1111-1111 1111-1010   (等於 -6 )




當然還有下面這種情況和其他情況:
    因為同一個資料,在不同的位數的系統和不同的計算機語言佔用的記憶體不同。(個人見解,可能有誤)

1111-1111 1111-1111 1111-1111 1111-1111 1111-1111 1111-1111 1111-1111 1111-1010