數制介紹和轉換


概述

我們平常最習慣的是十進制數,而計算機硬件內部唯一能識別的是二進制數,任何其他計數值和信息在計算機內都要轉化為二進制數。

十進制(decimal)

  • 逢十進位
  • 共有0 ~ 9十個數字符號,用D表示或不帶任何標識默認為十進制數。例:20D或20

二進制(binary)

  • 逢二進位
  • 共有0,1兩個數字符號,用B表示。例:1010B

介紹完最基本的兩種數值,接下來我們介紹一種用於簡化二進制表示的兩種進制:

十六進制(Hex)

  • 共有0 ~ 9,A ~ F 十六個數字符號
  • 逢十六進位,用H表示。例:A3H

八進制(octal)

  • 共有0 ~ 7八個數字符號
  • 逢八進位,用O表示,例:20.52O

非十進制數向十進制數轉換

使用按權展開公式完成非十進制數向十進制數轉換

其中N為計數的基數,又稱進位數;Ki為第i位的系數;Ni稱為第i位的權;

備注:

  • 小數點左起第一位的權位是0,左起第二位的權位是1,依次類推。
  • 小數點右起第一位的權位是-1,右起第二位的權位是-2,依次類推。

下面展示使用該公式完成非十進制數向十進制數轉換:

十進制到非十進制轉換

對整數和小數兩部分分別運算,最后組合即為答案。

  • 十進制對N進制的轉換:
    • 對整數:除N取余,直到商為0為止。余數自下而上排列。
    • 對小數:乘N取整。直到小數為0為止。整數自上而下排列。

下面展示十進制轉換為非十進制的例子:

二進制數向非十進制數的轉換

二進制數轉換為十六(2的N次)方進制數

  • 用4(N)位二進制數表示1位16(2的N次)進制數。
  • 整數部分,從小數點左起第一位開始分組,每4(N)位一組,不夠4(N)位高位補0。
  • 小數部分,從小數點右起第一位開始分組,每4(N)位一組,不夠4(N)位低位補0。

下面展示二進制數向非十進制數的轉換的例子:

其中紅色數字位補0部分。每4位一組,利用"8421法則"將得到的4個數值相加的和,與其他組得到的和拼接,即為轉化后的十六進制數。

二進制數轉換八進制數同理,但八進制使用的是"421法則"。

十六進制數轉二進制數

1位十六進制數通過對應一組4位二進制數,這一組4位二進制數通過“8421法則”求和等於這一位十六進制數,再將得到的多個組拼接。

下面展示十六進制數向二進制數的轉換的例子
(數電p8)

八進制數轉二進制數

1位八進制數通過對應一組3位二進制數,這一組3位二進制數通過“421法則”求和等於這一位八進制數,再將得到的多個組拼接。

下面展示十六進制數向二進制數的轉換的例子
(數電p9)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM