- 從零開始學C語言
- 戴晟暉 祝明慧等編著
- 650字
- 2018-12-27 13:04:10
1.2.2 數制的轉換
我們知道計算機中數據是以二進制的形式存在的,但是二進制數據太長,沒有人愿意對很長的二進制進行操作,用十六進制或八進制可以解決這個問題。因為進制越大,數的表達長度也就越短。不過,為什么偏偏是十六或八進制,而不是其他的諸如九或二十進制呢?因為2、8、16,分別是2的1次方、3次方、4次方,這一點使得三種進制之間可以非常直接地互相轉換。八進制或十六進制既縮短了二進制數又保持了二進制數的表達特點。
1.二進制、八進制、十六進制轉換成十進制
規則:數碼乘以各自的權的累加
【實例1-1】其他進制轉換成十進制。
(10001)B=24+20=17
(101.01)B=22+20+2-2=5.25
(011)O=81+80=9
(72)O=7*81+2*80=58
(112A)H=1*163+1*162+2*161+10*160=4394
2.十進制轉換成二進制、八進制、十六進制
規則如下。
? 整數部分:除以進制取余數,直到商為0,余數從下到上排列。
? 小數部分:乘以進制取整數,得到的整數從上到下排列。
【實例1-2】十進制轉換成其他進制。
(1)十進制20.345轉換成二進制

20.345D=10100.01011B
(2)十進制100轉換成八進制、十六進制

3.二進制轉換成八進制
規則如下。
? 整數部分:從右向左按三位進行分組,不足補零。
? 小數部分:從左向右按三位進行分組,不足補零。
【實例1-3】將二進制數(1101101110.110101)2轉換成八進制數。

(1101101110.110101)2=(1556.65)8
4.二進制轉換成十六進制
規則如下。
? 整數部分:從右向左按四位進行分組,不足補零。
? 小數部分:從左向右按四位進行分組,不足補零。
【實例1-4】將二進制數(001101101110.110101)2轉換成十六進制數。

(001101101110.110101)2=(36E.D4)16
5.八進制、十六進制轉換成二進制
規則如下。
? 一位八進制對應三位二進制。
? 一位十六進制對應四位二進制。
【實例1-5】八進制、十六進制轉換成二進制。

- Advanced Quantitative Finance with C++
- Android Wearable Programming
- ClickHouse性能之巔:從架構設計解讀性能之謎
- Building a Game with Unity and Blender
- Ext JS Data-driven Application Design
- Mastering Concurrency in Go
- 技術領導力:程序員如何才能帶團隊
- IDA Pro權威指南(第2版)
- Maker基地嘉年華:玩轉樂動魔盒學Scratch
- ASP.NET Web API Security Essentials
- Drupal 8 Development Cookbook(Second Edition)
- After Effects CC案例設計與經典插件(視頻教學版)
- 虛擬現實建模與編程(SketchUp+OSG開發技術)
- Web前端測試與集成:Jasmine/Selenium/Protractor/Jenkins的最佳實踐
- Magento 2 Developer's Guide