**2i进制**，是由高德纳于1995年提出来的，当时用作高中科学精英研究用。它是一种以2i为基数的非标准进位制。这种进制以0、1、2、3为基本數碼，能够独一无二的表示全体复数。

转换2i进制到十进制
----------


2*i*的冪| *k* | (2*i*)*k* |
| --- | --- |
| -5 | −1/32*i* |
| -4 | 1/16 |
| -3 | 1/8*i* |
| -2 | −1/4 |
| -1 | −1/2*i* |
| 0 | 1 |
| 1 | 2*i* |
| 2 | −4 |
| 3 | −8*i* |
| 4 | 16 |
| 5 | 32*i* |
| 6 | −64 |
| 7 | −128*i* |
| 8 | 256 |

2*i*的冪

将2i进制转换为十进制可以用标准公式。这个公式是：

{\displaystyle b}进制数{\displaystyle \ldots d\_{3}d\_{2}d\_{1}d\_{0}} 的十进制数为

{\displaystyle \cdots +d\_{3}\cdot b^{3}+d\_{2}\cdot b^{2}+d\_{1}\cdot b+d\_{0}}
2i进制中，{\displaystyle b=2i}。

### 示例

将 {\displaystyle 1101\_{2i}} 转换为十进制，可按照上述公式填入相应数字：

{\displaystyle 1\cdot (2i)^{3}+1\cdot (2i)^{2}+0\cdot (2i)^{1}+1\cdot (2i)^{0}=-8i-4+0+1=-3-8i}
再比如： {\displaystyle 1030003\_{2i}} 十进制是

{\displaystyle 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.03002*i* = 0.00032*i*。

要转换十进制数，先将实部和虚部分别转换为2i进制数，然后加到一起即可。 比如， –1+4*i* 等于–1 加上 4*i*，–1的2i进制数是103， 4*i*的2i进制数是20，因此 –1+4*i* = 1232i。

转换虚部时，可以先乘以2*i*，得到一个实数；然后将这个实数转换为2i进制，然后右移一位即可（等效于除以 2*i*）。 例如，虚部是 6*i*，先将6*i* 乘以2*i* 得到 –12，化为2i进制是3002i，然后右移一位，得到： 6*i* = 302i。

转换实数，可以用方程组来求解。

### 示例：实数

我们来求解7的2i进制数。我们很难知道这个2i进制数有多长，所以我们先假设一个比较长的数。 我们先选六位试试，如果不够，我们再延长。
我们写出公式，然后分组：

{\displaystyle {\begin{aligned}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{aligned}}}
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进制数。

{\displaystyle {\begin{aligned}7\_{10}=010303\_{2i}=10303\_{2i}.\end{aligned}}}
### 示例: 虚数

找一个纯虚数的2i进制数，可以模拟实数的方法。 例如6*i*, 也可以用公式。实部全为零，虚部化为6。 6*i* 很容易看出 *d1* = 3 其他各位都是0。6*i*就是：

{\displaystyle {\begin{aligned}6i\_{10}=30\_{2i}\end{aligned}}}
### 其他的轉換方式

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

例如：35+23i=121003.22i

```
                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
               20003                    +     101000                         +  0.2 = 121003.2
                         32i+16×2−8i−4×0+2i×0+1×3−2×i/2=35+23i
```

小数点"."
------

十进制中小数点用来区分整数部分和小数部分。2i进制中小数点一样可以用，比如{\displaystyle ...d\_{5}d\_{4}d\_{3}d\_{2}d\_{1}d\_{0}.d\_{-1}d\_{-2}d\_{-3}...} 中，小数点用来分割*b*的正数幂和負数幂。带小数点时，公式是：

{\displaystyle 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}}
或

{\displaystyle 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}}
{\displaystyle =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進制，没有小数点的话，可能没办法做到。因此：

{\displaystyle {\begin{aligned}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{aligned}}}
实部为0； *d4 = d2 = d0 = d-2 = 0*. 
虚部, 当 *d5 = d3 = d -3 = 0* 并且 当 *d1=1* ， *d-1=2* 时结果正确。所以

{\displaystyle {\begin{aligned}i=10.2\_{2i}\end{aligned}}}.
### 示例（分數）

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

加减法
---

2i进制也可以做加减法。 首先要记住以下规则：

1. 数字超过3时, *减* 4 "进" −1 到左边第二位。
2. 数字小于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。我们得到结果{\displaystyle 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。 结果就是 {\displaystyle 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
```

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

查转换
---

下面是一个常用的复数对照表。我们可以用叠加的方法来转换复数

 

|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 

| 十进制 | 2*i*进制 |
| --- | --- |
| 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 |

  | 

| 十进制 | 2*i*进制 |
| --- | --- |
| −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 |

  | 

| 十进制 | 2*i*进制 |
| --- | --- |
| 1*i* | 10.2 |
| 2*i* | 10.0 |
| 3*i* | 20.2 |
| 4*i* | 20.0 |
| 5*i* | 30.2 |
| 6*i* | 30.0 |
| 7*i* | 103000.2 |
| 8*i* | 103000.0 |
| 9*i* | 103010.2 |
| 10*i* | 103010.0 |
| 11*i* | 103020.2 |
| 12*i* | 103020.0 |
| 13*i* | 103030.2 |
| 14*i* | 103030.0 |
| 15*i* | 102000.2 |
| 16*i* | 102000.0 |

  | 

| 十进制 | 2*i*进制 |
| --- | --- |
| −1*i* | 0.2 |
| −2*i* | 1030.0 |
| −3*i* | 1030.2 |
| −4*i* | 1020.0 |
| −5*i* | 1020.2 |
| −6*i* | 1010.0 |
| −7*i* | 1010.2 |
| −8*i* | 1000.0 |
| −9*i* | 1000.2 |
| −10*i* | 2030.0 |
| −11*i* | 2030.2 |
| −12*i* | 2020.0 |
| −13*i* | 2020.2 |
| −14*i* | 2010.0 |
| −15*i* | 2010.2 |
| −16*i* | 2000.0 |

  |

示例
--

  

{\displaystyle 5=16+(3\cdot -4)+1=10301\_{2i}}
{\displaystyle i=2i+2\left(-{\frac {1}{2}}i\right)=10.2\_{2i}}
{\displaystyle 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}}

参见
--

* 四進制
* 十六進制
* 複進制（英语：）
* 负进制（英语：）

参考资料
----

* D. Knuth. *The Art of Computer Programming*. Volume 2, 3rd Edition. Addison-Wesley. pp. 205, "Positional Number Systems"
	1. ↑  Donald Knuth.. Communications of the ACM. April 1960, **3** (4).

|  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 

| * 
* 论
* 编
进制的记数系统 |
| --- |
|  |
| 基本进位制 | 
* 一进制
* 二进制
* 三进制
* 四进制
* 五进制
* 六进制
* 八进制
* 九进制
* 十进制
* 十一进制
* 十二进制
* 十六进制
* 二十进制
* 二十六进制
* 三十六进制
* 六十进制

 |
|  |
| 平衡进位制 | 平衡三进制 |
|  |
| 广义的进制系统 | 
* Base64
* 十进位制
* 二進指數法
* 非整数进位制
	+ 根號2进制
	+ 黄金进制
	+ e进制
* 负底数进制（英语：）
* 複底数进制
	+ 2i进制
	+ -1±i进制
* 混合底數（英语：）
	+ 阶乘进制
* 斐波那契編碼
* 双射记数系统

 |
|  |
| 相關條目 | 
* 底数
* 数位
* 位元
* 位元組
* 进位制
* 米迪定理
* 记数系统

 |

 |


|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 

| * 
* 论
* 编
高德纳 |
| --- |
|  |
| 著作 | 
* 《计算机程序设计艺术》
* 《歌曲的計算複雜度（英语：）》
* 《電腦與排版（英语：）》
* 《具體數學》
* 《超現實數（英语：）》
* 《計算機科學家很少談論的事情（英语：）》
* 論文選集（英语：）

 |
|  |
| 软件 | 
* TeX
* METAFONT
* MIXAL
	+ MIX（英语：）
	+ MMIX（英语：）

 |
|  |
| 字型 | 
* AMS Euler
* Computer Modern
* Concrete Roman

 |
|  |
| 文学 | 
* WEB
* CWEB（英语：）

 |
|  |
|  | 
* X
* 高德納-本迪克斯補全（英语：）
* KMP
* 高德納洗牌（英语：）
* RSK 對應（英语：）
* TPK（英语：）
* 概念化戴克斯特拉
* Knuth's Simpath algorithm（英语：）

 |
|  |
| 相關 | 
* 舞蹈链
* 高德納獎勵支票（英语：）
* 高德納獎
* 高德納箭號表示法
* 编译器递归测试
* 2i進制
* -yllion（英语：）
* 《普茨比度量衡体系（英语：）》

 |

 |