# 電腦常用的數字系統
數字系統有`十進位`、`二進位`、`八進位`、`十六進位` 。
電腦常用的數字系統是 `二進位數字系統`,而我們平常會用到的是`十進位數字系統`

---
以下分別介紹各種數字系統:
### 十進位 Decimal
- 十進位是現在最廣泛運用的進位系統
- 簡單來說:十進位就是,**遇到 10 就進位**, 9 的下一個是 10
- 計算方式:
- `369 = (3x100) + (6x10) + (9x1)`
- 也可以寫成 `369 = (3x10^2) + (6x10^1) + (9x10^0)`
- `^` 是平方的意思
<br>
```javascript=
1, 2, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
20, .....
```
### 二進位 Binary
- 不會有 2 出現,遇到 2 就要進位
- 計算換算方式:
- 二進位 1010 = 十進位 `(1x2^3) + (0x2^2) + (1x2^1) + (0x2^0) = 10`
- 將 79 **轉成二進位方法** =
1. 小技巧:先把二的次方列出來:
```javascript=
1, 2, 4, 8, 16, 32, 64, 128, 256
```
2. 79 最接近 64 ,所以可以用 79 - **64** = 15, 15 - **8** = 7, 7 - **4** = 3, 3 - **2** = 1, 1 - **1** = 0
4. 會發現使用到的有 64, 8, 4, 2, 1
5. 將有使用到的數字改成 1 ,得到 1001111
| 256 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
| -------- | -------- | -------- | -------- | -------- | -------- | -------- | -------- | -------- |
| 0 | 0 | <font color="red">1</font> | 0 | 0 | <font color="red">1</font> | <font color="red">1</font> | <font color="red">1</font> | <font color="red">1</font> |
<br>
```javascript=
0, 1, 10, 11, 100,
```
### 八進位 Octal
- 數字裡面沒有 8 , 7 的下一位是 10
- 計算換算方式:
- 八進位 363 = `(3x8^2) + (6x8^1) + (3x8^0)`
- `八進位 363` = `十進位 3x64 + 48 + 3 = 243`
<br>
```javascript=
1, 2, 3, 4, 5, 6, 7,
10, 11, 12, 13, 14, 15, 16, 17,
20, .....
```
### 十六進位 hexadecimal
- 數字 10 以上用英文表示, A(10), B(11), ...
- 十六進位裡面沒有 16 ,15 的下一個數是 10, 一零表示進位
- 色碼是用 十六進位表示
<br>
```javascript=
1, 2, 3, 4, 5, 6, 7, 8, 9, A(10) , B(11), C(12), D(13), E(14), F(15),
10(16), 11, 12, 13, 14, 15, 16, 17, 18, 19, 1A(26), 1B, 1C, 1D, 1E, 1F,
20(32), ...
```
### <font color="gray">結語
大略了解電腦常用的進位系統、運算方式,以及區分不同的進位方式。
尤其是二進位最為重要,電腦最底層的表現方式就是由二進位組成。</font>
###### tags: `前端筆記`
{%hackmd @unayojanni/H1Qq0uKkK %}