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 |
例えば、
である。ここで 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増し符号の利点は次のとおりである。
3増し符号は、ENIAC・UNIVAC Iなど最初期の計算機で内部表現に採用されたが、最近はあまり使われていない。