SlideShare a Scribd company logo
1 of 5
Download to read offline
第二節:正整數進位制的轉換-編碼
既然數字系統龐大又複雜,怎麼設計運算單元來處理這些數字呢?在數位邏
輯中,第一步是二進位化-將每一種數字化為 0 或 1 的二進位數值。註 1 前面提
到所有分數都將化為小數,故在此討論中不會出現「分數」。舉例來說,抓個簡
單的整數數字,如「5」,二進位化後寫成「0101(2)」註 2 過程如下:
2| 5
2| 2 -----1↑
1------------0↑
→→→→→→ (箭頭方向由高位元依序至低位元)
透過連續除法取出餘數,即可轉換數值至特定基底。
可以簡述為 5(10)= 0101(2),以下標代表基底(基底為 10 可省略)。
※在二進位系統中,一個數字的最高位元稱為 MSB(Most Significant Bit,最高有
效位元);最低位元稱為 LSB(Least Significant Bit,最低有效位元)。如「0101(2)」
這個二進位數的 MSB 為 0;LSB 為 1。
※在十進位系統中,一個數字的最高位數稱為 MSD(Most Significant Digital,最
高有效位數);最低位數稱為 LSD(Least Significant Digital,最低有效位數)。如
「23145」的 MSD 為 2;LSD 為 5。
※二進位數值的「基底」為 2,每一位數皆由 2 的次方加權組成,表示如下:
純文字:5=0101(2)=0×8(2 的 3 次方)+1×4(2 的 2 次方)+0×2(2 的 1 次方)+1×1(2 的
0 次方)
Word 方程式工具:5 = 0 × 23
+ 1 × 22
+ 0 × 21
+ 1 × 20
這就相當於十進位數字(基底為 10)57436=5×10000(10 的 4 次方)+7×1000(10 的 3
次方)+4×100(10 的 2 次方)+3×10(10 的 1 次方)+6×1(10 的 0 次方)。
Q:為啥高低位元的排序(箭頭方向)是由下到上呢?
A:數字的位元愈高,所代表權值越大,需要連續除較多次才能取得。例如一個
十進位數 57436,如果用同樣的方法做十進位化(數字本身即為十進位數,在此僅
用於說明轉換方式的權值關係)
10| 57436
10| 5743 -----6↑(低位元)
10| 574 -----3↑
10| 57 -----4↑
5 -----7↑
(高位元)→→→→
同樣的方法亦可用於十進位制轉換至不同進位制,舉例如下:
 十進位至八進制(基底為 8):
8| 57436
8| 7179 -----4↑(低位元)
8| 897 -----3↑
8| 112 -----1↑
8| 14 -----0↑
1 -----6↑
(高位元)→→→→
57436=0160134(8)
 十進位至十六進制:
16| 57436
16| 3589 -----C↑(低位元)
16| 224 -----5↑
E -----0↑
(高位元)→→→→
57436=E05C(16)
※十六進制系統每位數可能為 0~15,其中大於 9 的數值皆依序以英文字母 A~F
表示。10 記為 A,11 記為 B,12 記為 C,13 記為 D,14 記為 E,15 記為 F。
 十進位至五進位:
5| 57436
5| 11487 -----1↑(低位元)
5| 2297 -----2↑
5| 459 -----2↑
5| 91 -----4↑
5| 18 -----1↑
3 ------3↑
(高位元)→→→→
57436=3314221(5)
同樣的,我們可以將特定基底的數值轉換至十進位數,過程如下,首先以二進位
數值為例。
 0101(2)=0×8(2 的 3 次方)+1×4(2 的 2 次方)+0×2(2 的 1 次方)+1×1(2 的 0 次方)=5
 01101110(2)=64(2 的 6 次方)+ 32(2 的 5 次方)+ 8(2 的 3 次方)+ 4(2 的 2 次方)+ 2(2
的 1 次方)=110
八進制至十進制:
 0160134(8)= 0×262144(8 的 6 次方)+1×32768(8 的 5 次方) +6×4096(8 的 4 次方)
+0×512(8 的 3 次方) +1×64(8 的 2 次方) +3×8(8 的 1 次方) +4×1(8 的 0 次方)=
57436
 3421(8)= 3×512(8 的 3 次方) +4×64(8 的 2 次方) +2×8(8 的 1 次方) +1×1(8 的 0
次方)=1809
十六進制至十進制:
 E05C(16)= E(14) ×4096(16 的 3 次方) +0×256(16 的 2 次方) +5×16(16 的 1 次方)
+C(12)×1(16 的 0 次方)=57436
 ABD(16)=A(10)×256(16 的 2 次方) +B(11)×16(16 的 1 次方) +D(13)×1(16 的 0 次
方)=2479
五進制至十進制:
 3314221(5) =3×15625(5 的 6 次方) +3×3125(5 的 5 次方) +1×625(5 的 4 次方)
+4×125(5 的 3 次方) +2×25(5 的 2 次方) +2×5(5 的 1 次方) +1×1(5 的 0 次
方)=57436
 412(5) =4×25(5 的 2 次方) +1×5(5 的 1 次方) +2×1(5 的 0 次方)=107
最後,我們以表格整理一下:
十進位數 二進位數 八進位數 十六進位數 五進位數
0 0000 0 0 0
1 0001 1 1 1
2 0010 2 2 2
3 0011 3 3 3
4 0100 4 4 4
5 0101 5 5 10
6 0110 6 6 11
7 0111 7 7 12
8 1000 10 8 13
9 1001 11 9 14
10 1010 12 A 20
11 1011 13 B 21
12 1100 14 C 22
13 1101 15 D 23
14 1110 16 E 24
15 1111 17 F 30
下一章將以此表格,繼續探討負數、小數的編碼原理。
※附錄:二進制、八進制與十六進制的快速轉換法:
先列表觀察二進制與八進制的數值變化如下
二進制數值 八進制數值
00 000 000 0
00 000 001 1
00 000 010 2
(略) (略)
00 000 110 6
00 000 111 7
00 001 000 10
00 001 001 11
00 001 010 12
(略) (略)
00 111 110 76
00 111 111 77
01 000 000 100
01 000 001 101
(略) (略)
由於二進位數中 2 的三次方即為 8,故 7→8 時二進位數進位了,八進位數亦進
位了。由歸納可知,若將二進位數從低位元開始每三位數一組,即可對應一八進
位數,藉此方法可快速互換二進位與八進位數。
再列表觀察二進制與十六進制的數值變化如下
二進制數值 十六進制數值
0000 0000 0000 0
0000 0000 0001 1
0000 0000 0010 2
(略) (略)
0000 0000 1110 E
0000 0000 1111 F
0000 0001 0000 10
0000 0001 0001 11
(略) (略)
0000 1111 1110 FE
0000 1111 1111 FF
0001 0000 0000 100
0001 0000 0001 101
(略) (略)
由於二進位數中 2 的四次方即為 16,故 15→16 時二進位數進位了,十六進位數
亦進位了。由歸納可知,若將二進位數從低位元開始每四位數一組,即可對應一
十六進位數,藉此方法可快速互換二進位與十六進位數。
而八進制與十六進制互換則可運用上述特性,藉由二進制做為橋梁,進行快速轉
換。
<延伸思考>
二進位數除了可快速轉換至八進位數、十六進位數,是否亦可快速轉換至四進位
數、三十二進位數呢?原因是什麼?
註 1:
Q:為啥需要「二進位化」而非採用其他進位制呢?
A:二進位化即數位化,CPU 屬於數位系統範疇,透過數位化技術希望增進實體
電路穩定性,克服雜訊干擾,且具備精確度高、能夠儲存、編輯的優點。一般數
位邏輯書籍皆有討論數位及類比的差異,如網站:
http://www.gauss.com.tw/logic/ch1/1-2.htm
註 2:
Q:為啥轉換過程中由高位元寫至低位元只有三位數「101」,卻在描述時在高位
元多一個 0,成為「0101」呢?
A:單純以正整數數碼轉換而言,「101」即可代表十進位數「5」;但後續討論負
數系統時,習慣將最高位元為「1」視為負數,故在高位元適當的填入 0 成為「0101」
做為區別。當然,「0101」、「00101」、「000101」不論填入多少個 0,數值依舊是
5。相當於十進位數 153,可以寫成 0153、00153、000153 等等,實際數值大小
相同。

More Related Content

Similar to 【智慧核心-CPU】第二節:正整數進位制的轉換-編碼

數位邏輯隨堂講義 第2章(題目卷)
數位邏輯隨堂講義 第2章(題目卷)數位邏輯隨堂講義 第2章(題目卷)
數位邏輯隨堂講義 第2章(題目卷)lungtengtech
 
08 计算机的运算方法05
08 计算机的运算方法0508 计算机的运算方法05
08 计算机的运算方法05Huaijin Chen
 
進制轉換
進制轉換進制轉換
進制轉換Shawn Wu
 

Similar to 【智慧核心-CPU】第二節:正整數進位制的轉換-編碼 (6)

數位邏輯隨堂講義 第2章(題目卷)
數位邏輯隨堂講義 第2章(題目卷)數位邏輯隨堂講義 第2章(題目卷)
數位邏輯隨堂講義 第2章(題目卷)
 
08 计算机的运算方法05
08 计算机的运算方法0508 计算机的运算方法05
08 计算机的运算方法05
 
Binary
BinaryBinary
Binary
 
Ch2
Ch2Ch2
Ch2
 
進制轉換
進制轉換進制轉換
進制轉換
 
Ch5 範例
Ch5 範例Ch5 範例
Ch5 範例
 

More from Chen-Hung Hu

ParallelProgrammingBasics_v2.pdf
ParallelProgrammingBasics_v2.pdfParallelProgrammingBasics_v2.pdf
ParallelProgrammingBasics_v2.pdfChen-Hung Hu
 
淺談電腦檔案系統概念
淺談電腦檔案系統概念淺談電腦檔案系統概念
淺談電腦檔案系統概念Chen-Hung Hu
 
漫談七段顯示器
漫談七段顯示器漫談七段顯示器
漫談七段顯示器Chen-Hung Hu
 
BJT Transistor分壓偏壓電路分析
BJT Transistor分壓偏壓電路分析BJT Transistor分壓偏壓電路分析
BJT Transistor分壓偏壓電路分析Chen-Hung Hu
 
淺談類比-數位轉換器
淺談類比-數位轉換器淺談類比-數位轉換器
淺談類比-數位轉換器Chen-Hung Hu
 
感光元件及其相關迴路之研究 --以光敏電阻為例
感光元件及其相關迴路之研究 --以光敏電阻為例感光元件及其相關迴路之研究 --以光敏電阻為例
感光元件及其相關迴路之研究 --以光敏電阻為例Chen-Hung Hu
 
穩壓元件及其相關迴路之研究 --以可調式輸出電源供應器為例
穩壓元件及其相關迴路之研究 --以可調式輸出電源供應器為例穩壓元件及其相關迴路之研究 --以可調式輸出電源供應器為例
穩壓元件及其相關迴路之研究 --以可調式輸出電源供應器為例Chen-Hung Hu
 
Adc0804及其相關迴路之研究
Adc0804及其相關迴路之研究Adc0804及其相關迴路之研究
Adc0804及其相關迴路之研究Chen-Hung Hu
 
可調式電源供應器之研究
可調式電源供應器之研究可調式電源供應器之研究
可調式電源供應器之研究Chen-Hung Hu
 
HC 05藍芽模組連線
HC 05藍芽模組連線HC 05藍芽模組連線
HC 05藍芽模組連線Chen-Hung Hu
 
自動功因改善裝置之研究
自動功因改善裝置之研究自動功因改善裝置之研究
自動功因改善裝置之研究Chen-Hung Hu
 

More from Chen-Hung Hu (11)

ParallelProgrammingBasics_v2.pdf
ParallelProgrammingBasics_v2.pdfParallelProgrammingBasics_v2.pdf
ParallelProgrammingBasics_v2.pdf
 
淺談電腦檔案系統概念
淺談電腦檔案系統概念淺談電腦檔案系統概念
淺談電腦檔案系統概念
 
漫談七段顯示器
漫談七段顯示器漫談七段顯示器
漫談七段顯示器
 
BJT Transistor分壓偏壓電路分析
BJT Transistor分壓偏壓電路分析BJT Transistor分壓偏壓電路分析
BJT Transistor分壓偏壓電路分析
 
淺談類比-數位轉換器
淺談類比-數位轉換器淺談類比-數位轉換器
淺談類比-數位轉換器
 
感光元件及其相關迴路之研究 --以光敏電阻為例
感光元件及其相關迴路之研究 --以光敏電阻為例感光元件及其相關迴路之研究 --以光敏電阻為例
感光元件及其相關迴路之研究 --以光敏電阻為例
 
穩壓元件及其相關迴路之研究 --以可調式輸出電源供應器為例
穩壓元件及其相關迴路之研究 --以可調式輸出電源供應器為例穩壓元件及其相關迴路之研究 --以可調式輸出電源供應器為例
穩壓元件及其相關迴路之研究 --以可調式輸出電源供應器為例
 
Adc0804及其相關迴路之研究
Adc0804及其相關迴路之研究Adc0804及其相關迴路之研究
Adc0804及其相關迴路之研究
 
可調式電源供應器之研究
可調式電源供應器之研究可調式電源供應器之研究
可調式電源供應器之研究
 
HC 05藍芽模組連線
HC 05藍芽模組連線HC 05藍芽模組連線
HC 05藍芽模組連線
 
自動功因改善裝置之研究
自動功因改善裝置之研究自動功因改善裝置之研究
自動功因改善裝置之研究
 

【智慧核心-CPU】第二節:正整數進位制的轉換-編碼

  • 1. 第二節:正整數進位制的轉換-編碼 既然數字系統龐大又複雜,怎麼設計運算單元來處理這些數字呢?在數位邏 輯中,第一步是二進位化-將每一種數字化為 0 或 1 的二進位數值。註 1 前面提 到所有分數都將化為小數,故在此討論中不會出現「分數」。舉例來說,抓個簡 單的整數數字,如「5」,二進位化後寫成「0101(2)」註 2 過程如下: 2| 5 2| 2 -----1↑ 1------------0↑ →→→→→→ (箭頭方向由高位元依序至低位元) 透過連續除法取出餘數,即可轉換數值至特定基底。 可以簡述為 5(10)= 0101(2),以下標代表基底(基底為 10 可省略)。 ※在二進位系統中,一個數字的最高位元稱為 MSB(Most Significant Bit,最高有 效位元);最低位元稱為 LSB(Least Significant Bit,最低有效位元)。如「0101(2)」 這個二進位數的 MSB 為 0;LSB 為 1。 ※在十進位系統中,一個數字的最高位數稱為 MSD(Most Significant Digital,最 高有效位數);最低位數稱為 LSD(Least Significant Digital,最低有效位數)。如 「23145」的 MSD 為 2;LSD 為 5。 ※二進位數值的「基底」為 2,每一位數皆由 2 的次方加權組成,表示如下: 純文字:5=0101(2)=0×8(2 的 3 次方)+1×4(2 的 2 次方)+0×2(2 的 1 次方)+1×1(2 的 0 次方) Word 方程式工具:5 = 0 × 23 + 1 × 22 + 0 × 21 + 1 × 20 這就相當於十進位數字(基底為 10)57436=5×10000(10 的 4 次方)+7×1000(10 的 3 次方)+4×100(10 的 2 次方)+3×10(10 的 1 次方)+6×1(10 的 0 次方)。 Q:為啥高低位元的排序(箭頭方向)是由下到上呢? A:數字的位元愈高,所代表權值越大,需要連續除較多次才能取得。例如一個 十進位數 57436,如果用同樣的方法做十進位化(數字本身即為十進位數,在此僅 用於說明轉換方式的權值關係) 10| 57436 10| 5743 -----6↑(低位元) 10| 574 -----3↑ 10| 57 -----4↑ 5 -----7↑ (高位元)→→→→ 同樣的方法亦可用於十進位制轉換至不同進位制,舉例如下:  十進位至八進制(基底為 8): 8| 57436 8| 7179 -----4↑(低位元)
  • 2. 8| 897 -----3↑ 8| 112 -----1↑ 8| 14 -----0↑ 1 -----6↑ (高位元)→→→→ 57436=0160134(8)  十進位至十六進制: 16| 57436 16| 3589 -----C↑(低位元) 16| 224 -----5↑ E -----0↑ (高位元)→→→→ 57436=E05C(16) ※十六進制系統每位數可能為 0~15,其中大於 9 的數值皆依序以英文字母 A~F 表示。10 記為 A,11 記為 B,12 記為 C,13 記為 D,14 記為 E,15 記為 F。  十進位至五進位: 5| 57436 5| 11487 -----1↑(低位元) 5| 2297 -----2↑ 5| 459 -----2↑ 5| 91 -----4↑ 5| 18 -----1↑ 3 ------3↑ (高位元)→→→→ 57436=3314221(5) 同樣的,我們可以將特定基底的數值轉換至十進位數,過程如下,首先以二進位 數值為例。  0101(2)=0×8(2 的 3 次方)+1×4(2 的 2 次方)+0×2(2 的 1 次方)+1×1(2 的 0 次方)=5  01101110(2)=64(2 的 6 次方)+ 32(2 的 5 次方)+ 8(2 的 3 次方)+ 4(2 的 2 次方)+ 2(2 的 1 次方)=110 八進制至十進制:  0160134(8)= 0×262144(8 的 6 次方)+1×32768(8 的 5 次方) +6×4096(8 的 4 次方) +0×512(8 的 3 次方) +1×64(8 的 2 次方) +3×8(8 的 1 次方) +4×1(8 的 0 次方)= 57436  3421(8)= 3×512(8 的 3 次方) +4×64(8 的 2 次方) +2×8(8 的 1 次方) +1×1(8 的 0 次方)=1809 十六進制至十進制:
  • 3.  E05C(16)= E(14) ×4096(16 的 3 次方) +0×256(16 的 2 次方) +5×16(16 的 1 次方) +C(12)×1(16 的 0 次方)=57436  ABD(16)=A(10)×256(16 的 2 次方) +B(11)×16(16 的 1 次方) +D(13)×1(16 的 0 次 方)=2479 五進制至十進制:  3314221(5) =3×15625(5 的 6 次方) +3×3125(5 的 5 次方) +1×625(5 的 4 次方) +4×125(5 的 3 次方) +2×25(5 的 2 次方) +2×5(5 的 1 次方) +1×1(5 的 0 次 方)=57436  412(5) =4×25(5 的 2 次方) +1×5(5 的 1 次方) +2×1(5 的 0 次方)=107 最後,我們以表格整理一下: 十進位數 二進位數 八進位數 十六進位數 五進位數 0 0000 0 0 0 1 0001 1 1 1 2 0010 2 2 2 3 0011 3 3 3 4 0100 4 4 4 5 0101 5 5 10 6 0110 6 6 11 7 0111 7 7 12 8 1000 10 8 13 9 1001 11 9 14 10 1010 12 A 20 11 1011 13 B 21 12 1100 14 C 22 13 1101 15 D 23 14 1110 16 E 24 15 1111 17 F 30 下一章將以此表格,繼續探討負數、小數的編碼原理。 ※附錄:二進制、八進制與十六進制的快速轉換法: 先列表觀察二進制與八進制的數值變化如下 二進制數值 八進制數值 00 000 000 0 00 000 001 1 00 000 010 2 (略) (略) 00 000 110 6
  • 4. 00 000 111 7 00 001 000 10 00 001 001 11 00 001 010 12 (略) (略) 00 111 110 76 00 111 111 77 01 000 000 100 01 000 001 101 (略) (略) 由於二進位數中 2 的三次方即為 8,故 7→8 時二進位數進位了,八進位數亦進 位了。由歸納可知,若將二進位數從低位元開始每三位數一組,即可對應一八進 位數,藉此方法可快速互換二進位與八進位數。 再列表觀察二進制與十六進制的數值變化如下 二進制數值 十六進制數值 0000 0000 0000 0 0000 0000 0001 1 0000 0000 0010 2 (略) (略) 0000 0000 1110 E 0000 0000 1111 F 0000 0001 0000 10 0000 0001 0001 11 (略) (略) 0000 1111 1110 FE 0000 1111 1111 FF 0001 0000 0000 100 0001 0000 0001 101 (略) (略) 由於二進位數中 2 的四次方即為 16,故 15→16 時二進位數進位了,十六進位數 亦進位了。由歸納可知,若將二進位數從低位元開始每四位數一組,即可對應一 十六進位數,藉此方法可快速互換二進位與十六進位數。 而八進制與十六進制互換則可運用上述特性,藉由二進制做為橋梁,進行快速轉 換。 <延伸思考> 二進位數除了可快速轉換至八進位數、十六進位數,是否亦可快速轉換至四進位 數、三十二進位數呢?原因是什麼?
  • 5. 註 1: Q:為啥需要「二進位化」而非採用其他進位制呢? A:二進位化即數位化,CPU 屬於數位系統範疇,透過數位化技術希望增進實體 電路穩定性,克服雜訊干擾,且具備精確度高、能夠儲存、編輯的優點。一般數 位邏輯書籍皆有討論數位及類比的差異,如網站: http://www.gauss.com.tw/logic/ch1/1-2.htm 註 2: Q:為啥轉換過程中由高位元寫至低位元只有三位數「101」,卻在描述時在高位 元多一個 0,成為「0101」呢? A:單純以正整數數碼轉換而言,「101」即可代表十進位數「5」;但後續討論負 數系統時,習慣將最高位元為「1」視為負數,故在高位元適當的填入 0 成為「0101」 做為區別。當然,「0101」、「00101」、「000101」不論填入多少個 0,數值依舊是 5。相當於十進位數 153,可以寫成 0153、00153、000153 等等,實際數值大小 相同。