一、數制和碼制
阿新 • • 發佈:2022-04-15
1.數制
1.1十進位制
每一位上數字0-9,滿十進一
1.2二進位制
每一位上數字0-1,滿二進一
1.3八進位制
每一位上數字0-7,滿八進一
1.4十六進位制
每一位上數字0-9、A-F,滿十六進一
進位制間的轉換
十進位制轉二進位制,對於十進位制數採用“除2取餘法”,實現二進位制的轉換。反過來,二進位制數可利用公式2e0+2e1+...+2e(i-1)實現十進位制轉換,其中i為二進位制的位數。
八進位制轉二進位制,可以將二進位制數的每三位對應一個八進位制位。反之亦可
十六進位制轉二進位制,可以將二進位制數的每四位對應一個十六進位制位。反之亦可
2.碼制
2.1二進位制的正負數
在二進位制裡,是用0和1來表示正負的,最高位為符號位,最高位為1代表負數,最高位為0代表正數。
2.2二進位制的原碼、反碼和補碼
原碼:一個正數,按照絕對值大小轉換成的二進位制數;一個負數按照絕對值大小轉換成的二進位制數,然後最高位補1,稱為原碼。
反碼:正數的反碼與原碼相同,負數的反碼為對該數的原碼除符號位外按位取反。
補碼:正數的補碼與原碼相同,負數的補碼為對該數的原碼除符號位外各位取反,然後在最後一位加1。
總結:正數的反碼和補碼與其原碼相同,負數的反碼為其原碼的除符號位外按位取反,補碼為其反碼的最後一位加1。
例如:正數5的原碼為:0101,反碼和補碼與原碼相同,則其反碼為:0101,補碼為:0101。
負數-5的原碼為:1101 ,反碼:1010,補碼:1011。