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

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する[1]。例えば、
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増し符号は、ENIACUNIVAC Iなど最初期の計算機で内部表現に採用されたが、最近はあまり使われていない。

脚注

編集
  1. ^ a b Hayes 1978, p. 156.

参考文献

編集
  • JIS X 0005:2002 情報処理用語(データの表現) 2005年7月2日
  • 雨宮好文 『現代電子回路学[II]』 オーム社、1980年、229頁。 (ISBN 4-274-12750-8)
  • 本項の表は英語版ウィキペディアの「Excess-3」の記事 (16:10, 7 September 2006 UTC版) からの翻訳である。
  • Hayes, John P. (1978,1979). Computer Architecture and Organization. McGRAW-HILL INTERNATIONAL BOOK COMPANY. ISBN 0-07-027363-4 

関連項目

編集