This article may be too technical for most readers to understand. Please help improve it to make it understandable to non-experts, without removing the technical details. (January 2023) (Learn how and when to remove this message)

The quater-imaginary numeral system is a numeral system, first proposed by Donald Knuth in 1960. Unlike standard numeral systems, which use an integer (such as 10 in decimal, or 2 in binary) as their bases, it uses the imaginary number 2i (equivalent to ) as its base. It is able to (almost) uniquely represent every complex number using only the digits 0, 1, 2, and 3.[1] Numbers less than zero, which are ordinarily represented with a minus sign, are representable as digit strings in quater-imaginary; for example, the number −1 is represented as "103" in quater-imaginary notation.

Decomposing the quater-imaginary

In a positional system with base ,


In this numeral system, ,

and because , the entire series of powers can be separated into two different series, so that it simplifies to for even-numbered digits (digits that simplify to the value of the digit times a power of -4), and for those digits that still have an imaginary factor. Adding these two series together then gives the total value of the number.

Because of the separation of these two series, the real and imaginary parts of complex numbers are readily expressed in base −4 as and respectively.

Converting from quater-imaginary

Powers of 2i
k (2i)k
−5 i/32
−4 1/16
−3 i/8
−2 −1/4
−1 i/2
0 1
1 2i
2 −4
3 −8i
4 16
5 32i
6 −64
7 −128i
8 256

To convert a digit string from the quater-imaginary system to the decimal system, the standard formula for positional number systems can be used. This says that a digit string in base b can be converted to a decimal number using the formula

For the quater-imaginary system, .

Additionally, for a given string in the form , the formula below can be used for a given string length in base


To convert the string to a decimal number, fill in the formula above:

Another, longer example: in base 10 is

Converting into quater-imaginary

It is also possible to convert a decimal number to a number in the quater-imaginary system. Every complex number (every number of the form a+bi) has a quater-imaginary representation. Most numbers have a unique quater-imaginary representation, but just as 1 has the two representations 1 = 0.9 in decimal notation, so, because of 0.00012i = 1/15, the number 1/5 has the two quater-imaginary representations 0.00032i = 3·1/15 = 1/5 = 1 + 3·–4/15 = 1.03002i.

To convert an arbitrary complex number to quater-imaginary, it is sufficient to split the number into its real and imaginary components, convert each of those separately, and then add the results by interleaving the digits. For example, since −1+4i is equal to −1 plus 4i, the quater-imaginary representation of −1+4i is the quater-imaginary representation of −1 (namely, 103) plus the quater-imaginary representation of 4i (namely, 20), which gives a final result of −1+4i = 1232i.

To find the quater-imaginary representation of the imaginary component, it suffices to multiply that component by 2i, which gives a real number; then find the quater-imaginary representation of that real number, and finally shift the representation by one place to the right (thus dividing by 2i). For example, the quater-imaginary representation of 6i is calculated by multiplying 6i × 2i = −12, which is expressed as 3002i, and then shifting by one place to the right, yielding: 6i = 302i.

Finding the quater-imaginary representation of an arbitrary real integer number can be done manually by solving a system of simultaneous equations, as shown below, but there are faster methods for both real and imaginary integers, as shown in the negative base article.

Example: Real number

As an example of an integer number we can try to find the quater-imaginary counterpart of the decimal number 7 (or 710 since the base of the decimal system is 10). Since it is hard to predict exactly how long the digit string will be for a given decimal number, it is safe to assume a fairly large string. In this case, a string of six digits can be chosen. When an initial guess at the size of the string eventually turns out to be insufficient, a larger string can be used.

To find the representation, first write out the general formula, and group terms:

Since 7 is a real number, it is allowed to conclude that d1, d3 and d5 should be zero. Now the value of the coefficients d0, d2 and d4, must be found. Because d0 − 4 d2 + 16 d4 = 7 and because—by the nature of the quater-imaginary system—the coefficients can only be 0, 1, 2 or 3 the value of the coefficients can be found. A possible configuration could be: d0 = 3, d2 = 3 and d4 = 1. This configuration gives the resulting digit string for 710.

Example: Imaginary number

Finding a quater-imaginary representation of a purely imaginary integer number iZ is analogous to the method described above for a real number. For example, to find the representation of 6i, it is possible to use the general formula. Then all coefficients of the real part have to be zero and the complex part should make 6. However, for 6i it is easily seen by looking at the formula that if d1 = 3 and all other coefficients are zero, we get the desired string for 6i. That is:

Another conversion method

For real numbers the quater-imaginary representation is the same as negative quaternary (base −4). A complex number x+iy can be converted to quater-imaginary by converting x and y/2 separately to negative quaternary. If both x and y are finite binary fractions we can use the following algorithm using repeated Euclidean division:

For example: 35+23i=121003.22i

                35                                 23i/2i=11.5    11=12−0.5
            35÷(−4)=−8, remainder 3                12/(−4)=−3, remainder 0         (−0.5)×(−4)=2
            −8÷(−4)= 2, remainder 0                −3/(−4)= 1, remainder 1
             2÷(−4)= 0, remainder 2                 1/(−4)= 0, remainder 1
               20003                    +              101000                         +  0.2 = 121003.2

Radix point "."

A radix point in the decimal system is the usual . (dot) which marks the separation between the integer part and the fractional part of the number. In the quater-imaginary system a radix point can also be used. For a digit string the radix point marks the separation between non-negative and negative powers of b. Using the radix point the general formula becomes:



If the quater-imaginary representation of the complex unit i has to be found, the formula without radix point will not suffice. Therefore, the above formula should be used. Hence:

for certain coefficients dk. Then because the real part has to be zero: d4 = d2 = d0 = d−2 = 0. For the imaginary part, if d5 = d3 = d−3 = 0 and when d1 = 1 and d−1 = 2 the digit string can be found. Using the above coefficients in the digit string the result is:

Addition and subtraction

It is possible to add and subtract numbers in the quater-imaginary system. In doing this, there are two basic rules that have to be kept in mind:

  1. Whenever a number exceeds 3, subtract 4 and "carry" −1 two places to the left.
  2. Whenever a number drops below 0, add 4 and "carry" +1 two places to the left.

Or for short: "If you add four, carry +1. If you subtract four, carry −1". This is the opposite of normal long addition, in which a "carry" in the current column requires adding 1 to the next column to the left, and a "borrow" requires subtracting. In quater-imaginary arithmetic, a "carry" subtracts from the next-but-one column, and a "borrow" adds.

Example: Addition

Below are two examples of adding in the quater-imaginary system:

   1 − 2i                1031          
   1 − 2i                1031          
   ------ +      <=>     ---- +       
   2 − 4i                1022          

   3 − 4i                1023
   1 − 8i                1001
   ------ +      <=>    ----- +
   4 −12i               12320

In the first example we start by adding the two 1s in the first column (the "ones' column"), giving 2. Then we add the two 3s in the second column (the "2is column"), giving 6; 6 is greater than 3, so we subtract 4 (giving 2 as the result in the second column) and carry −1 into the fourth column. Adding the 0s in the third column gives 0; and finally adding the two 1s and the carried −1 in the fourth column gives 1.

In the second example we first add 3+1, giving 4; 4 is greater than 3, so we subtract 4 (giving 0) and carry −1 into the third column (the "−4s column"). Then we add 2+0 in the second column, giving 2. In the third column, we have 0+0+(−1), because of the carry; −1 is less than 0, so we add 4 (giving 3 as the result in the third column) and "borrow" +1 into the fifth column. In the fourth column, 1+1 is 2; and the carry in the fifth column gives 1, for a result of .

Example: Subtraction

Subtraction is analogous to addition in that it uses the same two rules described above. Below is an example:

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

In this example we have to subtract from . The rightmost digit is 2−1 = 1. The second digit from the right would become −1, so add 4 to give 3 and then carry +1 two places to the left. The third digit from the right is 1−0 = 1. Then the leftmost digit is 1−1 plus 1 from the carry, giving 1. This gives a final answer of .


For long multiplication in the quater-imaginary system, the two rules stated above are used as well. When multiplying numbers, multiply the first string by each digit in the second string consecutively and add the resulting strings. With every multiplication, a digit in the second string is multiplied with the first string. The multiplication starts with the rightmost digit in the second string and then moves leftward by one digit, multiplying each digit with the first string. Then the resulting partial products are added where each is shifted to the left by one digit. An example:

              20121  ×
              11201      ←––– 1 × 11201
             12002       ←––– 2 × 11201
            11201        ←––– 1 × 11201
           00000         ←––– 0 × 11201
          12002      +   ←––– 2 × 11201

This corresponds to a multiplication of .

Tabulated conversions

Below is a table of some decimal and complex numbers and their quater-imaginary counterparts.


Below are some other examples of conversions from decimal numbers to quater-imaginary numbers.

Z-order curve

The representation

of an arbitrary complex number with gives rise to an injective mapping

with some suitable . Here cannot be taken as base because of

The image is a Cantor set which allows to linearly order similar to a Z-order curve. Since the image is disconnected, is not continuous.

See also


  1. ^ Donald Knuth (April 1960). "An imaginary number system". Communications of the ACM. 3 (4): 245–247. doi:10.1145/367177.367233. S2CID 16513137.

Further reading