黄金进制

**黃金進位**（英語：Golden ratio base）是使用黃金比 φ 作為底數的進位制，其中 $\varphi ={\frac {1+{\sqrt {5}}}{2}}\approx 1.61803399\ldots $ 是一個無理數。在英語中，黃金進位也叫做 _base-φ_、_golden mean base_、_phi-base_、_phinary_。在黃金進位下，任何非負整數都約定使用 0 和 1 表示，並且不連續使用兩個 1，這叫做黃金進位的標準形。任何黃金進位的數凡是出現 11，就一定可以根據黃金比 φ 的性質 φ+1=φ2 表示成標準形。例如，11φ = 100φ。

雖然黃金進位使用無理數作為基底，任何非負整數在黃金進位下都可以表示成有限小數。所有有理數則都可以表示成循環小數。所有數的有限表示都是唯一的，但和十進位一樣，整數和有限小數都可以寫成無限小數的形式，如十進位中的 1 = 0.99999…。

## 舉例

## 轉化到標準形

211.01φ 是 φ 進位數，但並非標準形，因為它含有「11」和「2」，以及 1=-1。我們可以根據以下公式將它轉化到標準形：

* 011φ = 100φ
* 0200φ = 1001φ
* 010φ = 101φ

公式的代換過程對結果沒有影響。具體過程如下：

```
  211.01φ
  300.01φ     011φ → 100φ
 1101.01φ     0200φ → 1001φ
10001.01φ     011φ → 100φ (again)
10001.101φ    010φ → 101φ
10000.011φ    010φ → 101φ (again)
10000.1φ      011φ → 100φ (again)
```

任意非標準形正數都可以唯一地標準化。這樣處理之後如果第一位是負數，此時需要將每一位數都變成相反數，重新標準化並加上負號。例如：

　
: 101φ = -101φ = -110.1φ = -1.1φ = -10φ

## 整數的黃金進位表示

通常所說的整數在黃金進位下是有限小數。例如，整數 5 轉化成黃金進位的過程如下所示：

1. 5 以下 φ 的最高次冪是 φ3 = 1 + 2φ ≈ 4.236；
2. 與 5 求差為 5 - (1 + 2φ) = 4 - 2φ ≈ 0.763；
3. 0.763 以下最大的 φ 的冪是 φ－1 = -1 + 1φ ≈ 0.618；
4. 再次求差，4 - 2φ - (-1 + 1φ) = 5 - 3φ ≈ 0.145
5. 0.145 以下最大的 φ 的冪是 φ－4 = 5 - 3φ ≈ 0.145；
6. 再次求差得到 0
7. 於是：　5 = φ3 + φ－1 + φ－4

5 用 φ 進位表示就是 1000.1001φ。

這裡其實利用了以下事實：凡 φ 的冪都可以用整數 _a_、_b_ 表示成 _a_ + _b_ φ 的形式。因為 φ2 = φ + 1 、φ－1 = -1 + φ 。如此一來，數之間比大小就容易了。實際上，_a_ + _b_φ > _c_ + _d_φ 和 2 (_a_ － _c_) － (_d_ － _b_) > (_d_ － _b_) × √5 等價。只需將 φ = (1+√5)/2 代入，稍作處理就可得到這一結果。

黃金進位下的有限小數不全是整數，還包括環 $\mathbb {Z} [\phi ]:=\{a+b\phi \mid a,b\in \mathbb {Z} \}$ 的元素。

### 數的表示不唯一

和其他進位制相同，黃金進位中也可以用多種形式表示同一個數。就像 10 進位中 0.999...=1，φ 進位中 0.1010101…φ=1。

* 使用非標準形變換：1 = 0.11φ = 0.1011φ = 0.101011φ = … = 0.10101010…φ
* 使用等比級數展開：1.0101010…φ 等於

　
: $\sum _{k=0}^{\infty }\phi ^{-2k}={\frac {1}{1-\phi ^{-2}}}=\phi $
* 錯項相減：φ2 x - x = 10.101010…φ - 0.101010…φ = 10φ = φ 所以 x = φ/(φ2 － 1) = 1

這種不唯一是進位制的特徵，1.0000 和 0.101010… 都是標準形。一般地，φ 進位制中數最後的 1 用 01 循環代替即可得到另一標準形。

## 有理數的黃金進位表示

在黃金進位中，可以用有限小數或者循環小數表示任意非負有理數，以及從有理數和√5 生成的域 **Q**[√5] 中的非負元素。其中

　
: $\mathbb {Q} (\phi )=\mathbb {Q} ({\sqrt {5}}):=\{a+b{\sqrt {5}}\mid a,b\in \mathbb {Q} \}$

相反地，黃金進位中的有限 / 循環小數都是 **Q**[√5] 中的非負元素。例如：

* 1/2 ≈ 0.010 010 010 010 ... φ
* 1/3 ≈ 0.00101000 00101000 00101000... φ
* √5 = 10.1φ
* 2+(1/13)√5 ≈ 10.010 1000100010101000100010000000 1000100010101000100010000000 1000100010101000100010000000 ...φ

對這一點的證明與十進位中類似。在黃金進位下進行長除法。因為其餘數的可能值是有限個，所以必定會出現循環。例如 1/2 = 1/10.01φ = 100φ/1001φ 進行長除法如下：

```
               .0 1 0 0 1
        ________________________
1 0 0 1 ) 1 0 0.0 0 0 0 0 0 0 0
            1 0 0 1                        代换 10000 = 1100 = 1011
            _______                        于是 10000-1001 = 1011-1001 = 10
                1 0 0 0 0
                  1 0 0 1
                  _______
                      etc.
```

反之，黃金進位中的循環小數都屬於 **Q**[√5]。因為循環部分形成了等比級數，對它求和即可得到 **Q**[√5] 的元素。

## 無理數的黃金進位表示

常見無理數的黃金進位表示如下：

* π ≈ 100.010010101001000101010100 …φ （OEIS 數列 A102243）
* _e_ ≈ 100.000010000100100000000100 …φ （OEIS 數列 A105165）
* √2 ≈ 1.0100000101001010010000000101 …φ （OEIS 數列 A352678）
* φ = ${\frac {1+{\sqrt {5}}}{2}}$ = 10φ（在此計數系統為整數）
* √5 = 10.1φ

## 四則運算

在黃金進位中可以和其它進位一樣進行四則運算。加法、減法、乘法的計算方法如下：

### 加、減、乘

**先計算，後轉化**
: 即先對每一位按十進位數的方法計算，但不進行進位、借位，計算完再轉化為標準形。例如：

　
: 2+3 = 10.01 + 100.01 = 110.02 = 110.1001 = 1000.1001

　
: 2×3 = 10.01 × 100.01 = 1000.1 + 1.0001 = 1001.1001 = 1010.0001

　
: 7-2 = 10000.0001 - 10.01 = 10010.0101 = 1110.0101 = 1001.0101 = 1000.1001

**避免 0 和 1 以外的數**
: 更加自然的做法是將數轉化為非標準形，以避免出現需要進位和借位的 1+1 或 0-1 。例如：

　
: 2+3 = 10.01 + 100.01 = 10.01 + 100.0011 = 110.0111 = 1000.1001

　
: 7-2 = 10000.0001 - 10.01 = 1100.0001 - 10.01 = 1011.0001 - 10.01 = 1010.1101 - 10.01 = 1000.1001

### 除法

除了整數以外，所有有理數都不能用有限位 φ 進位數表示。也就是說，黃金進位中能用有限小數表示的數只有整數或者域 **Q**[√5] 中的無理數。兩個整數相除得到有理數的情況已經在上文說明了。

## 斐波那契進位

斐波那契進位（Fibonaccimal Base）是與黃金進位關係緊密的計數系統。它只用 0 和 1 表示數，每個數位的位值對應斐波那契數。和黃金進位一樣，其標準形也不連續使用兩個 1。如：

　
: 30 = 1×21 + 0×13 + 1×8 + 0×5 + 0×3 + 0×2 + 1×1 + 0×1 = 10100010fib.

由於最末位始終為零，因此有時會將之省去，而省去後的結果則與齊肯多夫表述法相同。

## 參見

* 進位制

## 外部連結

* Using Powers of Phi to represent Integers (Base Phi)（頁面存檔備份，存於網際網路檔案館）

## 參考資料