3増し符号
3増し符号(さんましふごう、excess-three code、excess-3、XS-3、3増しコード)は、二進化十進表現 (BCD) の一種で、十進の各桁を、以下のようにその値に3を足した4ビットの2進で表現する方法をいう。
例えば、
123410 = 0100010101100111excess-3
である。ここで 10 は十進数を、excess-3 は3増し符号を示す。
加算する場合、2進数としての計算結果に応じて±3する。例えば、 510+910=1410は、以下のようになる。
1000excess-3+1100excess-3=0100binary sumと桁上がり(CARRYあり) 0100binary sum+0011correction=0111excess-3
通常のBCDに対する3増し符号の利点は次のとおりである。
ビットを反転させるだけで十進数の減基数の補数(9の補数)が得られるため、減算に便利である。
最上位ビット (MSB) が410以下で0、510以上で1となるので、四捨五入に便利である。
すべてのビットが同時に0になることがないので、断線などによる信号途絶との区別に利用できる。
3増し符号は、ENIAC・UNIVAC Iなど最初期の計算機で内部表現に採用されたが、最近はあまり使われていない。