二進制數據是用0和1兩個數碼來表示的數。它的基數為2,進位規則是“逢二進一”,借位規則是“借一當二”。
二進制是一種非常古老的進位制,由于在現代被用于電子計算機中,而舊貌換新顔變得身價倍增起來。
在現實生活和記數器中,如果表示數的“器件”隻有兩種狀态,如電燈的“
“亮”與“滅”,開關的“開”與“關”。一種狀态表示數碼0,另一種狀态表示數碼1,1加1應該等于2,因為沒有數碼2,隻能向上一個數位進一,就是采用“滿二進一”的原則,這和十進制是采用“滿十進一”原則完全相同。
1 1=10,10 1=11,11 1=100,100 1=101,
101 1=110,110 1=111,111 1=1000,……,
可見二進制的10表示二,100表示四,1000表示八,10000表示十六,……。
二進制同樣是“位值制”。同一個數碼1,在不同數位上表示的數值是不同的。如11111,從右往左數,第一位的1就是一,第二位的1表示二,第三位的1表示四,第四位的1表示八,第五位的1表示十六。用大家熟悉的十進制說明這個二進制數的含意,有以下關系式
(11111)(二進制)=1×2^4 1×2^3 1×2^2 1×2 1^0(十進制)(^代表次方,例如:1的2次方等于1^2)
一個二進制整數,從右邊第一位起,各位的計數單位分别是1,2,22,23,…,2n,…。
計算機中的二進制計算機内部之所以采用二進制,其主要原因是二進制具有以下優點:
(1)技術上容易實現。用雙穩态電路表示二進制數字0和1是很容易的事情。
(2)可靠性高。二進制中隻使用0和1兩個數字,傳輸和處理時不易出錯,因而可以保障計算機具有很高的可靠性。
(3)運算規則簡單。與十進制數相比,二進制數的運算規則要簡單得多,這不僅可以使運算器的結構得到簡化,而且有利于提高運算速度。
(4)與邏輯量相吻合。二進制數0和1正好與邏輯量“真”和“假”相對應,因此用二進制數表示二值邏輯顯得十分自然。
(5)二進制數與十進制數之間的轉換相當容易。人們使用計算機時可以仍然使用自己所習慣的十進制數,而計算機将其自動轉換成二進制數存儲和處理,輸出處理結果時又将二進制數自動轉換成十進制數,這給工作帶來極大的方便。
各進制相互轉換計算機中常用的數的進制主要有:二進制、八進制、十六進制。
2進制,用兩個阿拉伯數字:0、1;
8進制,用八個阿拉伯數字:0、1、2、3、4、5、6、7;
10進制,用十個阿拉伯數字:0到9;
16進制就是逢16進1,但我們隻有0~9這十個數字,所以我們用A,B,C,D,E,F這六個字母來分别表示10,11,12,13,14,15。字母不區分大小寫。
以下簡介各種進制之間的轉換方法:
二進制轉換十進制二進制數第0位的權值是2的0次方,第1位的權值是2的1次方……
所以,設有一個二進制數:0110 0100,轉換為10進制為:
下面是豎式:
0110 0100 換算成十進制
從右往左開始換算
第0位 0 * 20 = 0
第1位 0 * 21 = 0
第2位 1 * 22 = 4
第3位 0 * 23 = 0
第4位 0 * 24 = 0
第5位 1 * 25 = 32
第6位 1 * 26 = 64
第7位 0 * 27 = 0
公式:第N位2(N)
---------------------------
100
用橫式計算為:
0 * 20 0 * 21 1 * 22 0 * 23 0 * 24 1 * 25 1* 26 0 * 27 = 100
除0以外的數字0次方都是1,但0乘以多少都是0,所以我們也可以直接跳過值為0的位:
1 * 22 1 * 25 1*26 = 100
二進制換算八進制例:二進制的“10110111011”
換八進制時,從右到左,三位一組,不夠補0,即成了:
010 110 111 011
然後每組中的3個數分别對應4、2、1的狀态,然後将為狀态為1的相加,如:
010 = 2
110 = 4 2 = 6
111 = 4 2 1 = 7
011 = 2 1 = 3
結果為:2673
二進制轉換十六進制十六進制換二進制的方法也類似,隻要每組4位,分别對應8、4、2、1就行了,如分解為:
0101 1011 1011
運算為:
0101 = 4 1 = 5
1011 = 8 2 1 = 11(由于10為A,所以11即B)
1011 = 8 2 1 = 11(由于10為A,所以11即B)
結果為:5BB
八進制數轉換為十進制數八進制就是逢8進1,八進制數采用 0~7這八數來表達一個數。
八進制數第0位的權值為8的0次方,第1位權值為8的1次方,第2位權值為8的2次方……
所以,設有一個八進制數:1507,轉換為十進制為:
用豎式表示:
1507換算成十進制。
第0位 7 * 80 = 7
第1位 0 * 81 = 0
第2位 5 * 82 = 320
第3位 1 * 83 = 512
--------------------------
839
同樣,我們也可以用橫式直接計算:
7 * 80 0 * 81 5 * 82 1 * 83 = 839
結果是,八進制數 1507 轉換成十進制數為 839
十六進制轉換十進制例:2AF5換算成10進制
例:2AF5換算成10進制
第0位: 5 * 160 = 5
第1位: F * 161 = 240
第2位: A * 162 = 2560
第3位: 2 * 163 = 8192
-------------------------------------
10997
直接計算就是:
5 * 160 F * 161 A * 162 2 * 163 = 10997
(别忘了,在上面的計算中,A表示10,而F表示15)
十進制轉二進制十進制整數轉二進制數:"除以2取餘,逆序輸出"
例: (53)10=(110101)2
十進制轉二進制;二進制的基為2,n進制的基為n。
八進制與二進制的轉換例:将八進制的37.416轉換成二進制數:
37 . 4 1 6
011 111 .100 001 110
即:(37.416)8 =(11111.10000111)2
例:将二進制的10110.0011 轉換成八進制:
0 1 0 1 1 0 . 0 0 1 1 0 0
2 6 . 1 4
即:(10110.011)2 =(26.14)8
十六進制與二進制的轉換例:将十六進制數5DF.9 轉換成二進制:
5 D F . 9
0101 1101 1111.1001
即:(5DF.9)16 =(10111011111.1001)2
例:将二進制數1100001.111 轉換成十六進制:
0110 0001 . 1110
6 1 . E
即:(1100001.111)2 =(61.E)16
十進制轉八進制10進制數轉換成8進制的方法,和轉換為2進制的方法類似,唯一變化:除數由2變成8。
來看一個例子,如何将十進制數120轉換成八進制數。
用表格表示:
被除數 |
計算過程 |
商 |
餘數 |
120 |
120/8 |
15 |
0 |
15 |
15/8 |
1 |
7 |
1 |
1/8 |
0 |
1 |
120轉換為8進制,結果為:170。
注:在實際過程中為了方便快速的轉換各進制,建議使用電腦計算器或程序員計算器,在此隻做了解原理和方法。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!