ベース-10のための自己相補コードは、与えられた符号化された桁D [0-9] 9-D、9の補数をもたらすの補数のコードです。
Base-10の数値をバイナリでエンコードするには、10ビットの値[0-9]を表現できる必要があります。これは、3ビットが8ビットの値で十分でないため4ビットが必要であることを意味します。 4ビットは16個の値を表すことができますが、これは必要以上のものですが、分数ビットはありません。
これらの4ビットには多くの符号化方式があり、最も直感的なのは8-4-2-1方式または10進値のストレートバイナリ符号化です。 8-4-2-1を使用して12をエンコードするには、[1]と[2]をそれぞれのバイナリ表現[0001]と[0010]として別々にエンコードします。
9の補数は、10進数/ 10進数を符号化するときに必要な最大値であるため、10進数の2進符号化に関連します。
この例では、9の補数ではなく15の補数を正しく生成しているBase-16を10進数で表示しています。 8-4-2-1は直観的にBase-16の自己補完コードです。なぜなら、4桁の2進数の補数を15から引くと同じであるからです。
Base-16では同じことが言えません。なぜなら、4桁の2進数で10進数を表現するための自己補完コードを生成するためにより複雑なシステムが考案されているからです。
表13.1ここで、[http://www.inf.fu-berlin.de/lehre/WS00/19504-V/Chapter1.pdf]は、10進符号化のための2つの自己補完符号、すなわち8,4、-2、-1および3を超える符号化方式を示し、後続の節では、コードを補完する。