有符號整數和無符號整數的區別在於怎樣解釋整數的最高位.對於無符號整數,其最高位被c編譯器解釋為資料位.而對於有符號整數,c編譯器將其最高位解釋為符號位,若符號位為0,則表示正數;若符號位為1,則表示負數
另:對具有相同位元組數的整型數而言,由於有符號整數的資料位比無符號整數的資料位少了1位,而且少的這一位恰好是最高位,因此有符號整數能表示的最大整數的絕對值只有最大無符號整數的一半
乙個整數,按照絕對值大小轉換成的二進位制數,稱為原碼
如 00000000 00000000 00000000 00000110 是6的原碼
將二進位制數按位取反,所得的新二進位制數稱為原二進位制數的反碼
如 00000000 00000000 00000000 00000110 的反碼是 11111111 11111111 11111111 11111001
反碼加1稱為補碼,所以,要得到乙個數的補碼,先得到反碼,然後反碼加上1,所得數稱為補碼。所以-6在計算器的表示形式為:
# -6 的正值 6 的二進位制:
00000000 00000000 00000000 00000110
# 取反得反碼:
11111111 11111111 11111111 11111001
# +1 得補碼,即 -6 在計算機中的二進位制表示:
11111111 11111111 11111111 11111010
與負數的補碼不同的是,正數的反碼、補碼、與其原碼都是相同的。那為什麼負數又要用補碼表示呢???預知後事如何
負數二進位制表示
負數在計算機中用補碼表示。這是教科書上到表示,由於時間久遠,又由於上課沒好好學,以至於補碼是啥,在心中沒留下任何到痕跡,補習一下。原碼 整數在記憶體中用原碼表示,即按絕對值大小轉換成二進位制 如 b 00000101 b 是 b 5 b 到二進位制表示 反碼 將二進位制數按位取反,所得的新二進位制數...
負數的二進位制表示
原碼 反碼 補碼 反碼 1 負數的二進位制表示法 比如,假設有一 int 型別的數,值為5,那麼,我們知道它在計算機中表示為 00000000 00000000 00000000 00000101 5轉換成二制是101,不過int型別的數占用4位元組 32位 所以前面填了一堆0。現在想知道,5在計算...
負數的二進位制表示
原碼 正數原碼就是其二進位制。負數的原碼就是其二進位制,並將最高位作為符號位設為1。eg 1 原碼為 1000 0001複數進行運算時用補碼表示負數補碼 負數原碼不考慮最高符號位的原碼的反碼 1 eg 1 的補碼為 1111 1110 反碼 1 1111 1111 在二進位製碼中,為了區分正負數,採...