|資工計概:學習資料整理文章前言
-尊重智慧財產權
此篇整理文章為本人所撰寫,禁止:轉貼、修改、和商業使用!歡迎分享網址連結!
-互相交流討論
因為此篇整理文章為本人獨自撰寫,如有錯誤的地方,或是對於內容有其他意見,額外補充,都歡迎在下方的留言區一起討論!一起撰寫出完整的計概學習資料!
|各個數字系統換成十進位 Any base to decimal
這是最簡單的轉換方式,只要將各個位置的數字乘上所在的基數(base)再總合就轉換完成了!
例:二進位(Binary)換成十進位(Decimal)
101.01
= 1 × 2² + 0 × 2¹ + 1 × 2⁰ + 0 × 2⁻¹ + 1 × 2⁻²
= 4 + 1 + 0.5 + 0.25
= 5.75
例:十六進位(Hexadecimal)換成十進位(Decimal)
1A.2B
= 1 × 16¹ + 10 × 16⁰ + 2 × 16⁻¹ + 11 × 16⁻²
= 16 + 10 + 0.125 + 0.04296875
= 26.16796875
例:八進位(Octal)換成十進位(Decimal)
20.02
= 2 × 8¹ + 0 × 8⁰ + 0 × 8⁻¹ + 2 × 8⁻²
= 16 + 0.03125
= 16.03125
|十進位換成各個數字系統 Decimal to any base
在做這樣子的轉換時,小數點左邊與右邊的方法不一樣,也就是整數與小數的部分。技巧:整數(左邊)用除;小數(右邊)用乘。
方法(整數部分):
- 將數值除以基數(base)
- 商寫於被除數左邊(C 語言中的:/)
- 餘數寫於被除數下方(C 語言中的:%)
- 重複以上步驟直到商為零即轉換完成
方法(小數部分):
- 將數值(小於 1)乘以基數(base)
- 乘積後的整數部分寫於被乘數下方(如相乘後仍無整數部分就寫零)
- 乘積後的小數部分寫於被乘數右方
- 重複以上步驟直到乘積無小數部分即轉換完成(小數部分可能發生「乘積中小數部分永不為零」的狀況,這時就考慮該取到小數點後幾位即可)
例:十進位(Decimal)轉二進位(Binary)
23.13=23(整數部分)+ 0.13(小數部分)
0 | ← | 1 | ← | 2 | ← | 5 | ← | 11 | ← | 23 |
↓ | ↓ | ↓ | ↓ | ↓ | ||||||
1 | 0 | 1 | 1 | 1 |
0.13 | → | 0.26 | → | 0.52 | → | 0.04 | → | 0.08 | ⋯⋯ |
↓ | ↓ | ↓ | ↓ | ↓ | |||||
1 | 0 | 2 | 4 | ⋯⋯ |
所以:23.13(Decimal)=10111.001 ⋯⋯(Binary)
例:十進位(Decimal)轉八進位(Octal)
23.13 = 23(整數部分)+ 0.13(小數部分)
0 | ← | 2 | ← | 23 |
↓ | ↓ | |||
2 | 5 |
0.13 | → | 0.04 | → | 0.32 | → | 0.56 | → | 0.48 | ⋯⋯ |
↓ | ↓ | ↓ | ↓ | ↓ | |||||
1 | 0 | 2 | 4 | ⋯⋯ |
所以:23.13(Decimal)= 25.1024 ⋯⋯(Octal)
例:十進位(Decimal)轉十六進位(Hexadecimal)
23.13 = 23(整數部分)+ 0.13(小數部分)
0 | ← | 1 | ← | 23 |
↓ | ↓ | |||
1 | 7 |
0.13 | → | 0.08 | → | 0.28 | → | 0.48 | → | 0.68 | ⋯⋯ |
↓ | ↓ | ↓ | ↓ | ↓ | |||||
2 | 1 | 4 | 7 | ⋯⋯ |
所以:23.13(Decimal)= 17.2147 ⋯⋯(Hexadecimal)
|數字位數 Number of digits
在做真正轉換前,我們可以運用「對數 log」來事先知道轉換後(destination system)會有幾位數。(此方法僅適用於十進位轉其他數字系統)
所需位數 = ⌈log 十進位數(source system),以轉換後的數字系統為底(destination system)⌉(⌈⌉代表取大於或等於的最小整數)
例:123(Decimal)
轉 Decimal | 需 ⌈log₁₀123⌉ ≑ ⌈2.09⌉ = 3 位 |
---|---|
轉 Binary | 需 ⌈log₂123⌉ ≑ ⌈6.94⌉ = 7 位 |
轉 Hexadecimal | 需 ⌈log₁₀123⌉ ≑ ⌈1.74⌉ = 2 位 |
|資工計概相關文章:
- 資工計概:Introduction 介紹/簡介
- 資工計概|位置數字系統:二、八、十、十六進位
- 資工計概|數字系統:十進位轉二八十六進位;二八十六進位轉十進位
- 資工計概|數字系統:二八十六進位之間的轉換
- 資工計概|數字系統:非位置數字系統
- 資工計概|資料儲存:資料型態 Data Types