3増し符号
表示
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増し符号は、ENIAC・UNIVAC Iなど最初期の計算機で内部表現に採用されたが、最近はあまり使われていない。
脚注
[編集]- ^ 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