2i進制

2i進位，是由高德納於1955年提出來的。它是一種以2i為基數的非標準進位制。這種進位以0、1、2、3為基本數碼，能夠獨一無二的表示全體複數。

## 轉換2i進位到十進位

k｜(2i)k

-5｜−1/32i

-4｜1/16

-3｜1/8i

-2｜−1/4

-1｜−1/2i

0｜1

1｜2i

2｜−4

3｜−8i

4｜16

5｜32i

6｜−64

7｜−128i

8｜256

將2i進位轉換為十進位可以用標準公式。這個公式是：

$b$進位數$\ldots d_3d_2d_1d_0$ 的十進位數為

$$\cdots + d_3\cdot b^3+d_2\cdot b^2+d_1\cdot b+d_0$$

2i進位中，$b = 2i$。

### 示例

將 $1101_{2i}$ 轉換為十進位，可按照上述公式填入相應數字：

$$1\cdot(2i)^3 + 1\cdot(2i)^2 + 0\cdot(2i)^1 + 1\cdot(2i)^0 = -8i - 4 + 0 + 1 = -3 - 8i$$

再比如： $1030003_{2i}$ 十進位是

$$1\cdot(2i)^6 + 3\cdot(2i)^4 + 3\cdot(2i)^0 = -64 + 3\cdot 16 + 3 = -13$$

## 十進位轉換到2i進位

也能將十進位數轉換為2i進位。每個複數（形如a+bi）都有個2i進位形式。大多十進位數都只有1個形式，但像1這樣的數在十進位中有兩種形式1.0 = 0.9，相對應的 1/5有兩種2i進位形式：1.2i = 0.2i。

要轉換十進位數，先將實部和虛部分別轉換為2i進位數，然後加到一起即可。比如， –1+4i 等於–1 加上 4i，–1的2i進位數是103， 4i的2i進位數是20，因此 –1+4i = 2i。

轉換虛部時，可以先乘以2i，得到一個實數；然後將這個實數轉換為2i進位，然後右移一位即可（等效於除以 2i）。例如，虛部是 6i，先將6i 乘以2i 得到 –12，化為2i進位是2i，然後右移一位，得到： 6i = 2i。

轉換實數，可以用方程組來求解。

### 示例：實數

我們來求解7的2i進位數。我們很難知道這個2i進位數有多長，所以我們先假設一個比較長的數。我們先選六位試試，如果不夠，我們再延長。

我們寫出公式，然後分組：

$$\begin{align} 7_{10}& = d_{0}+d_{1}\cdot b+d_{2}\cdot b^{2}+d_{3}\cdot b^{3}+d_{4}\cdot b^{4}+d_{5}\cdot b^{5} \\ & = d_{0}+2id_{1}-4d_{2}-8id_{3}+16d_{4}+32id_{5} \\ & = d_{0}-4d_{2}+16d_{4}+i(2d_{1}-8d_{3}+32d_{5}) \\ \end{align}$$

7是實數，因此d1、d3 和 d5 是0。剩下就是係數d0、d2 和 d4。因為 d0 − 4 d2 + 16 d4 = 7 並且他們只能是 0、 1、 2 或 3。可能的結果是： d0 = 3, d2 = 3， d4 = 1。這樣就找到了710的2i進位數。

$$\begin{align} 7_{10} = 010303_{2i} = 10303_{2i}.\end{align}$$

### 示例: 虛數

找一個純虛數的2i進位數，可以模擬實數的方法。例如6i, 也可以用公式。實部全為零，虛部化為6。6i 很容易看出 d1 = 3 其他各位都是0。6i就是：

$$\begin{align}6i_{10} = 30_{2i}\end{align}$$

### 其他的轉換方式

對實數而言，2i進位表示法實際上與負四進位相同。要將複數x+iy轉換成2i進位可以透過將x和y/2分別轉換為負四進位再將之交錯合併來完成轉換成2i進位的工作。如果x和y都是有限的二進位小數，則可以使用連續的帶餘除法來將十進位數轉換成2i進位：

例如：35+23i=2i

```
                35                                 23i/2i=11.5    11=12−0.5
            35÷(−4)=−8, 餘 3                12/(−4)=−3, 餘 0               (−0.5)×(−4)=2
            −8÷(−4)= 2, 餘 0                −3/(−4)= 1, 餘 1
             2÷(−4)= 0, 餘 2                 1/(−4)= 0, 餘 1
               2<small>0</small>0<small>0</small>3                    +     1<small>0</small>1<small>0</small>0<small>0</small>                         +  0.2 = 121003.2
                         32i+16×2−8i−4×0+2i×0+1×3−2×i/2=35+23i
```

## 小數點「.」

十進位中小數點用來區分整數部分和小數部分。2i進位中小數點一樣可以用，比如$...d_{5}d_{4}d_{3}d_{2}d_{1}d_{0} . d_{-1}d_{-2}d_{-3}...$ 中，小數點用來分割b的正數冪和負數冪。帶小數點時，公式是：

$$d_5 b^5 + d_4 b^4 + d_3 b^3 + d_2 b^2 + d_1 b + d_0 + d_{-1} b^{-1} + d_{-2} b^{-2} + d_{-3} b^{-3}$$

或

$$32id_{5}+16d_{4}-8id_{3}-4d_{2}+2id_{1}+d_{0}+\frac{1}{2i}d_{-1}+\frac{1}{-4}d_{-2}+\frac{1}{-8i}d_{-3}$$

$$=32id_{5}+16d_{4}-8id_{3}-4d_{2}+2id_{1}+d_{0}-\frac{i}{2}d_{-1}-\frac{1}{4}d_{-2}+\frac{i}{8}d_{-3}$$

### 示例

將i轉換為2i進制，沒有小數點的話，可能沒辦法做到。因此：

$$\begin{align}i & = 32id_{5}+16d_{4}-8id_{3}-4d_{2}+2id_{1}+d_{0}+\frac{1}{2i}d_{-1}+\frac{1}{-4}d_{-2}+\frac{1}{-8i}d_{-3}\\ & = i(32d_{5}-8d_{3}+2d_{1}-\frac{1}{2}d_{-1}+\frac{1}{8}d_{-3})+16d_{4}-4d_{2}+d_{0}-\frac{1}{4}d_{-2}\\ \end{align}$$

因為實部為0，故 d4 = d2 = d0 = d-2 = 0。

接著考慮虛部部分，當 d5 = d3 = d -3 = 0 並且 當 d1=1， d-1=2 時結果正確。所以

$\begin{align}i = 10.2_{2i}\end{align}$.

### 示例（分數）

將$\frac{1}{3}$轉換為2i進制，其結果為-0.。

## 加減法

2i進位也可以做加減法。首先要記住以下規則：

- 數字超過3時, 減 4 "進" −1 到左邊第二位。
- 數字小於0時, 加 4"進" +1 到左邊第二位。

簡單的說： 「加四進一、減四借一」（當作四進制來計算）。和一般豎式加法不同的是，要借/進到左邊第二位。

### 示例：加法

```
   1 - 2i                1031             3 - 4i                 1023
   1 - 2i                1031             1 - 8i                 1001
   ------- +     <=>     ----- +          ------- +      <=>     ----- +
   2 - 4i                1022             4 - 12i               12320
```

第一個例子，先是1+1=2。然後是3+3=6，6比3大，我們得減4借1。接著是0+0=0。然後是1+1=2，在減去借的1。得1。

第二個例子，先是3+1=4; 4 比3大，我們得減4借1。然後是2+0=2。接著是0+0=0，再減去借位1，得-1，小於0，我們得加四進一。然後是1+1=2; 最後是進位1。我們得到結果$12320_{2i}$。

### 示例：減法

減法和加法類似。下面是例子：

```
         - 2 - 8i                       1102
           1 - 6i                       1011  
           ------- -         <=>        ----- -
         - 3 - 2i                       1131
```

這個例子中，先是2-1 = 1。然後是0-1=-1，小於0，加4進1得3；接著是1-0=1。然後是1-1=0，加上進位得1。結果就是 $1131_{2i}$。

## 乘法

乘法也要用到上面兩點。先逐位相乘，然後疊加。比如：

```
             11201
             20121  x
             --------
             11201      <--- 1 x 11201
            12002       <--- 2 x 11201
           11201        <--- 1 x 11201
          00000         <--- 0 x 11201
         12002      +   <--- 2 x 11201
         ------------
         120231321
```

也就是 $(9-8i)\cdot(29+4i) = 293-196i$。

## 查錶轉換

下面是一個常用的複數對照表。我們可以用疊加的方法來轉換複數

十進位｜2i進位 1｜ 1 2｜ 2 3｜ 3 4｜ 10300 5｜ 10301 6｜ 10302 7｜ 10303 8｜ 10200 9｜ 10201 10｜ 10202 11｜ 10203 12｜ 10100 13｜ 10101 14｜ 10102 15｜ 10103 16｜ 10000 ｜十進位｜2i進位 −1｜ 103 −2｜ 102 −3｜ 101 −4｜ 100 −5｜ 203 −6｜ 202 −7｜ 201 −8｜ 200 −9｜ 303 −10｜ 302 −11｜ 301 −12｜ 300 −13｜ 1030003 −14｜ 1030002 −15｜ 1030001 −16｜ 1030000 ｜十進位｜2i進位 1i｜10.2 2i｜10.0 3i｜20.2 4i｜20.0 5i｜30.2 6i｜30.0 7i｜103000.2 8i｜103000.0 9i｜103010.2 10i｜103010.0 11i｜103020.2 12i｜103020.0 13i｜103030.2 14i｜103030.0 15i｜102000.2 16i｜102000.0 ｜十進位｜2i進位 −1i｜0.2 −2i｜1030.0 −3i｜1030.2 −4i｜1020.0 −5i｜1020.2 −6i｜1010.0 −7i｜1010.2 −8i｜1000.0 −9i｜1000.2 −10i｜2030.0 −11i｜2030.2 −12i｜2020.0 −13i｜2020.2 −14i｜2010.0 −15i｜2010.2 −16i｜2000.0

## 示例

$$5 = 16 + (3\cdot-4) + 1 = 10301_{2i}$$

$$i = 2i + 2\left(-\frac{1}{2}i\right) = 10.2_{2i}$$

$$7 \frac{3}{4} - 7 \frac{1}{2}i = 1(16) + 1(-8i) + 2(-4) + 1(2i) + 3\left(-\frac{1}{2}i\right) + 1\left(-\frac{1}{4}\right) = 11210.31_{2i}$$