計算機作為我們日常生活中使用最頻繁的工具,大家知道信息在計算機内部是如何表示的嗎?
首先,所有信息都是用二進制進行編碼的,這樣做的原因有以下三種:
1、二進制隻有兩種狀态,可以使用兩個具有穩定狀态的物理器件就可以表示二進制中的0和1,制造成本較低。
2、二進制位的1和0正好與邏輯“真”、“假”對應。
3、二進制的編碼和運算規則都很簡單,通過邏輯門電路可以方便實現算術運算。
那麼,如何将我們日常生活中的數字,轉換成計算機内部的二進制數呢?
首先,我們先了解一下,我們日常生活中使用的數字是什麼?
我們日常生活中所使用數字是逢十進一的,也就是所謂的十進制的數字,那麼計算機中的數字表示方法為逢二進一,也就是所謂的二進制數。
那麼任意一個進制的數字該如何表示呢?
我們拿十進制數來舉一個例子。(如132)
可以清楚的看到,1表示的是“百”位的數字,這個位置上一個數字表示1個100,3表示的是“十”位的數字,這個位置上的一個數字表示1個10,2表示的是“個”位上的數字,這個位置上的一個數字表示1個1。
那麼我們将上面的數字拼接起來就是:1個100 和 3個10 以及2個1,我們用指數形式表示就是 :
推廣一下便是:r進制
的數值就可以表示為:
其中,r是基數,r的i次方 就代表的是第i位的位權(注意,整數位最低位從0開始)。如上面例子中的10的2次方,就是代表的是十進制數的第2位的位權。在這個例子中r=10,K=1。
那麼,如何将十進制數轉換為二進制數呢?
對于十進制的整數轉換為二進制數,我們可以采用“除基取餘法”。如圖
十進制數132轉換為二進制數
整數部分除基取餘,最先取得的餘數為數的最低位,最後取得的為數的最高位,商為0時結束。
那麼轉換好的二進制數就是(10000100)2。
對于十進制的小數轉換二進制,我們則可以采用“乘基取整法”。如圖
十進制小數0.6875轉換為二進制數
小數部分乘基取整,最先取得的整數為數的最高位,最後得到的為數的最低位。乘積大于1的,把1抹掉。乘積為1.0時結束。
對于十進制轉換其他進制的數,隻需要将x2 ➗2 改為其對應的進制數就好。如改成8進制,就×8(小數),➗8(整數)。
在這裡我們列舉幾個計算機中常用的進制數。
1)二進制。
2)八進制。其基數為8,有0-7共8個數字的組合,計數“逢八進一”。
3)十六進制。基數為16,“逢十六進一”。每個數可取0-9,A、B、C、D、E、F中的一個。其中A、B、C、D、E、F分别表示:10-15.
那麼,這些進制之間的相互轉換該怎麼實現呢?
我們先以2進制為例子,将2進制,轉換為8進制。
2-->8
根據二進制的位權,我們可以輕易得到一串3位的二進制數,最大的數值為(111),轉換為十進制的話就是7,正好我們可以使用一串3為的二進制數來表示8進制。
那麼對于一個二進制混合數(即有整數部分、也有小數部分),在轉換時,以小數點為界限,三位為一組轉換為8進制,整數部分往左數,小數部分往右數,不足三位的,以0補齊,整數部分補在最左邊,小數部分補在最右邊。。
2-->16
和二進制轉八進制方法類似,隻是将3位換為4位一組。
例題:将二進制數1111000010.01101轉換為八進制數。
任意進制數轉換為十進制數:
将任意進制數的各位與他們的權值相乘,再把所有乘積相加,就得到了一個十進制數。這種方法稱為按權展開相加法。
在此,我們講了各個進制之間如何轉換。不知道你學會了嗎?
關注十月,帶你了解更多的計算機知識。
,