3増し符号

3増し符号(さんましふごう、excess-three code、excess-3、XS-33増しコード)は、二進化十進表現(BCD)の一種であり、十進数の各桁を、その値に3を加えた4ビットの2進数で表現する方式です。この符号化方式は、特に初期の計算機システムで利用されていました。

3増し符号の表現



十進数の各桁は、以下のルールに従って3増し符号に変換されます。

十進数の値に3を加える。
加算結果を4ビットの2進数で表す。

例えば、十進数の1234は、以下のように3増し符号で表されます。

`1234₁₀ = 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]』 オーム社、1980年、229頁。(ISBN 4-274-12750-8)
Hayes, John P. (1978,1979). Computer Architecture and Organization. MCGRAW-HILL INTERNATIONAL BOOK COMPANY. ISBN 0-07-027363-4

関連項目



符号付数値表現

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。