官术网_书友最值得收藏!

  • 從零開始學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】八進制、十六進制轉換成二進制。

主站蜘蛛池模板: 西贡区| 奇台县| 海口市| 桦川县| 吉安县| 吉水县| 辉县市| 射洪县| 永善县| 兴山县| 崇明县| 溧阳市| 资中县| 繁昌县| 长阳| 且末县| 桑日县| 南漳县| 绥化市| 南丹县| 永兴县| 朝阳区| 壤塘县| 托克托县| 广河县| 菏泽市| 安康市| 潍坊市| 霍州市| 晋江市| 玉树县| 连南| 辽阳市| 泸溪县| 白城市| 晋中市| 瑞安市| 云浮市| 清新县| 都兰县| 金秀|