一 十進制與二進制互轉【計算機以補碼形式存儲】
1 十進制->二進制【短除法】
32 0
2 16 0
2 8 0
2 4 0
2 2 0
1
2 二進制->十進制【按權展開】
| 十進制 | 二進制 |
|---|---|
| 0 | 0 |
| 1 | 1 |
| 2 | 10 |
| 3 | 11 |
| 4 | 100 |
| 5 | 101 |
| 6 | 110 |
| 7 | 111 |
| 8 | 1000 |
| 9 | 1001 |
| ... | ... |
| 15 | 1111 |
| 16 | 10000 |
當二進制產生進位時,代表的十進制數為2、4、8、16、32、64、128...
列:
二進制數: “1011”
第一個1表示:1的個數
第二個1表示:2的個數
第三個0表示:4的個數
第四個1表示:8的個數
(在此可以類比十進制1011,由1個1000,0個100,1個10,1個1組成。)
所以,二進制數1011由1個8,0個4,1個2,1個1組成。按各位的權列出:
\[ 0000-1011= 1*2^3 + 0*2^2 + 1*2^1 + 1*2^0 =11 \hspace{28cm} \]
\[ 0010-0000= 1*2^5 + 0*2^4 + 0*2^3 + 0*2^2 + 0*2^1 + 0*2^0 =32\hspace{25cm} \]
二 二進制加減運算
1. 正數的二進制原碼、反碼、補碼都是相同的
十進制 32
二進制[8位]
原碼:0010-0000
反碼:0010-0000
補碼:0010-0000
2. 負數
十進制 -32
二進制[8位]
原碼:1010-0000【最高位(符號位)為:1-與運算無關】
反碼:1101-1111【最高位不變:原碼的反碼】
補碼:1110-0000【反碼+1】
3. 32+32
0010-0000
+ 0010-0000
0100-0000
4. 32+(-32)
0010-0000
+ 1110-0000
10000-0000
0000-0000【最后溢出最高位移除】
5. -32+(-32)
1110-0000
+ 1110-0000
11100-0000【最后溢出最高位移除】
