3増し符号

3増し符号（さんましふごう、excess-three code、excess-3、XS-3、3増しコード）は、二進化十進表現 (BCD) の一種で、十進の各桁を、以下のようにその値に3を足した4ビットの2進で表現する方法をいう。

 10進 2進 10進 2進 0 0011 9 1100 1 0100 8 1011 2 0101 7 1010 3 0110 6 1001 4 0111 5 1000

例えば、
 123410 = 0100010101100111excess-3
である。ここで 10 は十進数を、excess-3 は3増し符号を示す。

加算する場合、2進数としての計算結果に応じて±3する。例えば、
510+910=1410は、以下のようになる。

1000excess-3+1100excess-3=0100binary sumと桁上がり(CARRY)あり
0100binary sum+0011correction=0111excess-3

また、桁上がり(CARRY)のない例として、510+110=610は、以下のようになる。
1000excess-3+0100excess-3=1100binary sum
1100binary sum-0011correction=1001excess-3

通常のBCDに対する3増し符号の利点は次のとおりである。

 ビットを反転させるだけで十進数の減基数の補数（9の補数）が得られるため、減算に便利である。
 最上位ビット (MSB) が410以下で0、510以上で1となるので、四捨五入に便利である。
 すべてのビットが同時に0になることがないので、断線などによる信号途絶との区別に利用できる。

3増し符号は、ENIAC・UNIVAC Iなど最初期の計算機で内部表現に採用されたが、最近はあまり使われていない。

 脚注 

 参考文献 
 JIS X 0005:2002 情報処理用語(データの表現) 2005年7月2日
 雨宮好文 『現代電子回路学[II]』 オーム社、1980年、229頁。 ()
 本項の表は英語版ウィキペディアの「Excess-3」の記事 (16:10, 7 September 2006 UTC版) からの翻訳である。

 関連項目 
 符号付数値表現

Category:コンピュータのデータ
Category:コンピュータの算術
Category:数の表現