一、進制轉換
1、數制和碼制
十進制 | 二進制 | 八進制 | 十六進制 | 8421BCD碼 |
0 | 0 | 0 | 0 | 0000 |
1 | 1 | 1 | 1 | 0001 |
2 | 10 | 2 | 2 | 0010 |
3 | 11 | 3 | 3 | 0011 |
4 | 100 | 4 | 4 | 0100 |
5 | 101 | 5 | 5 | 0101 |
6 | 110 | 6 | 6 | 0110 |
7 | 111 | 7 | 7 | 0111 |
8 | 1000 | 10 | 8 | 1000 |
9 | 1001 | 11 | 9 | 1001 |
10 | 1010 | 12 | A | 0001 0000 |
11 | 1011 | 13 | B | 0001 0001 |
12 | 1100 | 14 | C | 0001 0010 |
13 | 1101 | 15 | D | 0001 0011 |
14 | 1110 | 16 | E | 0001 0100 |
15 | 1111 | 17 | F | 0001 0101 |
1、二進制數與十進制數之間的轉換
轉換原則:按權展開相加,將二進制數寫成N的各次冪之和形式,然后按十進制計算結果。
(10111101)2 = 1x27+0x26+1x25+1x24+1x23+1x22+0x21+1x20 = (189)10
2、二進制轉八進制
二進制(1 110 110 111 011 100)2 = (166734)8
八進制 1 6 6 7 3 4
3、二進制轉十六進制
二進制 (1101 1001 1110 0100)2 = (D9E4)16
十進制 13 9 14 4
十六進制 D 9 E 4
4、二進制轉8421bcd碼
二進制轉8421bcd碼不能直接轉,通常二進制數先轉為十進制數,再轉為bcd碼
(1101)2 = (13)10 = (0001 0011)bcd
5、M進制向十進的轉換
轉換原則:按權展開相加,將M進制數寫成N的各次冪之和形式,然后按十進制計算結果。
(5213)6 = 5 x 63 + 2 x 62+ 1 x 61+ 3 x 60 = (1186)10
6、十進制向N進制的轉換
轉換原則:十進制數除N后倒取余 (150)10 = (226)8
二、原碼反碼和補碼
二進制數中,第一位為符號位,1表示負數,0表示正數
1、正數:反碼補碼和原碼一樣
2、負數:
原碼:最高位是1,后面是其絕對值的二進制數
反碼:符號位不變,數據位按位取反
補碼:在其反碼的最后一位+1
3、計算
在計算機中運算中,加減法是高頻運算,使用同一個運算器,可以減少中間變量存儲的開銷,這樣也降低了CPU內部的設計復雜度
減去一個數等於加上這個數的負數
兩個正數正數相加時,按照二進制加法直接計算即可
如果有負數參與計算時則要使用其補碼來參與計算。
例
負數:最左一位表示負,右面七位按位取反+1 -(0000010)=-2