3増し符号(さんましふごう、excess-three code、excess-
3、XS-
3、
3増しコード)は、二進化十進表現(BCD)の一種であり、十進数の各桁を、その値に
3を加えた4
ビットの2進数で表現する方式です。この符号化方式は、特に初期の計算機システムで利用されていました。
3増し符号の表現
十進数の各桁は、以下のルールに従って
3増し符号に変換されます。
十進数の値に3を加える。
加算結果を4
ビットの2進数で表す。
例えば、十進数の12
34は、以下のように
3増し符号で表されます。
`12
34₁₀ = 0100 0101 0110 0111 (excess-
3)`
ここで、添え字の10は十進数であることを示し、`excess-
3`は
3増し符号であることを示します。
3増し符号の加算
3増し符号で表された数を加算する場合、通常の2進数として加算した後、以下の補正が必要になります。
桁上がり(キャリー)が発生した場合:
2進数の加算結果に
3(0011)を加算します。
例えば、5 +
9 = 14 の計算は、
3増し符号では以下のようになります。
`1000(excess-
3) + 1100(excess-
3) = 0100(binary sum) キャリーあり`
`0100(binary sum) + 0011(correction) = 0111(excess-
3)`
桁上がり(キャリー)が発生しない場合:
2進数の加算結果から
3(0011)を減算します。
例えば、5 + 1 = 6 の計算は、
3増し符号では以下のようになります。
`1000(excess-
3) + 0100(excess-
3) = 1100(binary sum)`
`1100(binary sum) - 0011(correction) = 1001(excess-
3)`
3増し符号の利点
3増し符号は、通常の二進化十進表現(BCD)と比較して、以下の利点があります。
1.
減算の簡略化: 3増し符号では、各
ビットを反転させるだけで、減基数の補数(
9の補数)が得られます。これにより、減算処理を簡略化できます。
2.
四捨五入の容易さ: 最上位
ビット(MSB)が、4以下の値では0、5以上の値では1となるため、四捨五入の判定が容易です。
3.
信号断線検知: 全ての
ビットが同時に0になることがないため、信号の断線や途絶を検出できます。
歴史
3増し符号は、ENIACや
UNIVAC Iといった初期の計算機で内部表現として採用されていました。しかし、近年では他の符号化方式が主流となり、使用されることは少なくなっています。
まとめ
3増し符号は、二進化十進表現の一種で、各桁の値を
3を加えた2進数で表現します。加算時には補正が必要ですが、減算、四捨五入、信号断線検知に利点があります。初期の計算機で利用されていましたが、現在ではあまり使われていません。
参考文献
JIS X 0005:2002 情報処理用語(データの表現) 2005年7月2日
雨宮好文 『現代電子回路学[II]』 オーム社、1
980年、22
9頁。(
ISBN 4-274-12750-8)
Hayes, John P. (1978,1979). Computer Architecture and Organization. MCGRAW-HILL INTERNATIONAL BOOK COMPANY. ISBN 0-07-027363-4
関連項目
符号付数値表現