早年計算機基礎(chǔ) 沒有好好學(xué)習(xí),一到二進(jìn)制,八進(jìn)制,十進(jìn)制什么的計算啊,轉(zhuǎn)換啊,就頭暈,當(dāng)時想著也沒什么用就跳過了,現(xiàn)在突然又再次接觸上了,沒有了當(dāng)年的抵觸,淡定的找資料慢慢看,還挺好玩的。。。
一、 二進(jìn)制
二進(jìn)制被研究和發(fā)現(xiàn)出來竟然是從古埃及開始的,后續(xù)還有中國的易經(jīng),印度的莫爾斯電碼使用過二進(jìn)制。
后來一位英國數(shù)學(xué)家喬治.布爾老爺子,發(fā)表了一篇論文,詳細(xì)介紹了代數(shù)化的邏輯系統(tǒng),稱為布爾代數(shù),對后來的電子電路設(shè)計起到了基礎(chǔ)性的作用。
由此,1937年喬治·斯蒂比茲發(fā)明了第一臺二進(jìn)制電子計算機。
那么問題來了,二進(jìn)制是怎么來的 我們知道了,那它是怎么用呢?
1.1二進(jìn)制與十進(jìn)制的轉(zhuǎn)換
十進(jìn)制數(shù) 178 轉(zhuǎn)換成二進(jìn)制數(shù)
178/2=89 .............0
89/2=44 .............1
44/2=22 .............0
22/2=11 .............0
11/2=5 .............1
5/2=2 ............1
2/2=1 .............0
1/2=0 ..............1
轉(zhuǎn)換后的二進(jìn)制數(shù)是10110010
二進(jìn)制數(shù) 11010001轉(zhuǎn)換成十進(jìn)制數(shù)
1x27+1x26+0x25+1x24+0x23+0x22+0x21+1x20=128+64+16+1=209
轉(zhuǎn)換后的十進(jìn)制數(shù)是209
(“^”代表指數(shù))
1.2二進(jìn)制與八進(jìn)制的轉(zhuǎn)換
二進(jìn)制數(shù)100101110 轉(zhuǎn)換為八進(jìn)制數(shù)
| 八進(jìn)制 | 二進(jìn)制 |
|---|---|
| 0 | 000 |
| 1 | 001 |
| 2 | 010 |
| 3 | 011 |
| 4 | 100 |
| 5 | 101 |
| 6 | 110 |
| 7 | 111 |
0x22+0x21+0x2^0=0
0x22+1x21+1x2^0=3
八進(jìn)制的數(shù),是二進(jìn)制的3位構(gòu)成,所以一般的解釋上面說把二進(jìn)制按3位分開,按表格就可以找到八進(jìn)制的數(shù)字。
十六進(jìn)制數(shù)同理
100 101 110 轉(zhuǎn)換成八進(jìn)制為456
八進(jìn)制 715 轉(zhuǎn)換成二進(jìn)制 111 001 101
(對照表格可以一步轉(zhuǎn)換)
1.3二進(jìn)制與十六進(jìn)制的轉(zhuǎn)換
| 十六進(jìn)制 | 二進(jìn)制 |
|---|---|
| 0 | 0000 |
| 1 | 0001 |
| 2 | 0010 |
| 3 | 0011 |
| 4 | 0100 |
| 5 | 0101 |
| 6 | 0110 |
| 7 | 0111 |
| 8 | 1000 |
| 9 | 1001 |
| 10/A | 1010 |
| 11/B | 1011 |
| 12/C | 1100 |
| 13/D | 1101 |
| 14/E | 1110 |
| 15/F | 1111 |
十六進(jìn)制 DF40 轉(zhuǎn)換成二進(jìn)制 1101 1111 100 0
八進(jìn)制和十六進(jìn)制的轉(zhuǎn)換 以二進(jìn)制為媒介 先轉(zhuǎn)換成二進(jìn)制,之后在轉(zhuǎn)換。
1.4 十進(jìn)制與八進(jìn)制轉(zhuǎn)換
十進(jìn)制數(shù)796 轉(zhuǎn)換成八進(jìn)制數(shù) 1434
796/8=99 -----------4
99/8=12 -------------3
12/8=1 --------------4
1/8=0----------------1
或者可以通過十進(jìn)制數(shù)先轉(zhuǎn)換成二進(jìn)制數(shù),然后再轉(zhuǎn)換成八進(jìn)制數(shù)
1.5十進(jìn)制數(shù)與十六進(jìn)制數(shù)的轉(zhuǎn)換 31C
796/16=49 ----------12
49/16=3 --------------1
3/16=0 ----------------3