- 大學計算機應用基礎
- 陳志華 邱俊斌
- 1002字
- 2019-11-15 10:05:48
1.2.2 數制的轉換
二進制是計算機技術中廣泛采用的一種數制。二進制數據是用0和1兩個數碼來表示的數。它的基數為2,進位規(guī)則是“逢二進一”,借位規(guī)則是“借一當二”,由18世紀德國數理哲學大師萊布尼茲發(fā)現,后來被馮·諾依曼引入到當代計算機信息處理中,當前的計算機系統(tǒng)使用的基本上是二進制系統(tǒng)。采用二進制的優(yōu)點是:
1.數字裝置簡單可靠,所用元件少
只有兩個數碼0和1,因此它的每一位數都可用任何具有兩個不同穩(wěn)定狀態(tài)的元件來表示。
2.基本運算規(guī)則簡單,運算操作方便
除此之外,也存在一些缺點,如用二進制表示一個數時,位數多。因此實際使用中多采用送入數字系統(tǒng)前用十進制,送入機器后再轉換成二進制數,讓數字系統(tǒng)進行運算,運算結束后再將二進制轉換為十進制供人們閱讀,因而在學習計算機信息基礎知識時,要先掌握數制的轉換。
1)其他進制轉換為十進制
方法是:將其他進制按權位展開,然后各項相加,就得到相應的十進制數。
【例1-1】:N=(10110.101)B=(?)D。
【解】按權展開N=1×24+0×23+1×22+1×21+0×20+1×2-1+0×2-2+1×2-3
=16+4+2+0.5+0.125=(22.625)D
2)十進制轉換為其他進制
把要轉換的數除以新的進制的基數,把余數作為新進制的最低位;
把上一次得到的商再除以新的進制基數,把余數作為新進制的次低位;
繼續(xù)上一步,直到最后的商為零,這時的余數就是新進制的最高位(即余數的倒序排列為二進制編碼)。
【例1-2】將十進制的37轉換成二進制。
【解】將余數從下向上倒序排列,即(37)D=(100101)B。計算過程如下所示:

3)十進制小數轉為二進制小數
把要轉換數的小數部分乘以新進制的基數,把得到的整數部分作為新進制小數部分的最高位,把上一步得的小數部分再乘以新進制的基數,把整數部分作為新進制小數部分的次高位,繼續(xù)上一步,直到小數部分變成零為止,或者達到預定的要求也可以。
例如:0.625=(0.101)B,計算過程如下:

在小數轉二進制的時候,有可能出現一直無法實現小數部分變成零的情況。一般情況下,根據精度要求,可以在適合的精度位停止計算。
4)二進制與八進制、十六進制的相互轉換
二進制轉換為八進制、十六進制:它們之間滿足23和24的關系,因此把要轉換的二進制從低位到高位每3位或4位一組,高位不足時在有效位前面添“0”,然后把每組二進制數轉換成八進制或十六進制即可。
八進制、十六進制轉換為二進制時,把上面的過程逆過來即可。
【例1-3】N=(C1B)H=(?)B。
【解】(C1B)H=1100/0001/1011=(110000011011)B。
四種進位制之間的對照關系,如表1-1-2所示。
表1-1-2 四種進位制之間的對照關系

- Java:Data Science Made Easy
- 征服RIA
- Visual C
- HTML5從入門到精通 (第2版)
- Webpack實戰(zhàn):入門、進階與調優(yōu)
- Android應用開發(fā)深入學習實錄
- 區(qū)塊鏈國產化實踐指南:基于Fabric 2.0
- Learning Python Data Visualization
- Spring Data JPA從入門到精通
- Drupal 8 Development Cookbook(Second Edition)
- 高性能PHP 7
- Python程序設計:基礎與實踐
- Python全棧開發(fā):數據分析
- Expert Cube Development with SSAS Multidimensional Models
- MATLAB/Simulink建模與仿真