> bcd | 10進数 | 2進数 <
// BCD - 正確な10進演算のための 2進化10進数
>> 機能
10進精度
2 進数による丸め誤差を避けて、10 進の精度を保ちます。
ニブル単位のエンコード
各 10 進数字をちょうど 4 ビット (1 ニブル) で表現します。
複数のフォーマット
8421、2421、5421、Excess-3、Gray BCD などの BCD フォーマットに対応しています。
>> 技術情報
BCD の仕組み
BCD では各 10 進数字 (0〜9) を 4 ビットの 2 進数で符号化します。BCD の各方式はビットの重み付けが異なります。8421 (標準)、2421 (自己補数型)、5421 (バイ・クイナリ)、Excess-3 (各数字に 3 を加算)、Gray BCD (ビットの変化を最小化) などがあります。パックド BCD では 1 バイトに 2 桁を格納し、効率を高めます。
BCD フォーマットの例
10進数: 9 5 3
8421 BCD: 1001 0101 0011
2421 BCD: 1111 1011 0011
5421 BCD: 1100 1000 0011
Excess-3: 1100 1000 0110
Gray BCD: 1101 0111 0010
パックド: 10010101 00110000
(95) (30)
BCD を使う理由
- 正確な 10 進表現が必要な金融計算
- デジタル表示器や 7 セグメント・デコーダ
- リアルタイム・クロック回路
- 電卓や計算用チップ
- PLC などの産業用制御システム
>> よくある質問
BCD とは何ですか?
BCD (Binary-Coded Decimal) は、各 10 進数字を対応する 4 ビットの 2 進数で表現するエンコード方式です。10 進の精度が重要な場面で利用されます।
なぜ通常の 2 進数ではなく BCD を使うのですか?
BCD を使うと 10 進計算における丸め誤差を抑えやすくなり、表示用の 10 進数への変換も簡単になります。正確な 10 進結果が求められる金融アプリケーションに適しています。
パックド BCD とは何ですか?
パックド BCD では 1 バイト (8 ビット) に 2 桁の 10 進数字を格納し、それぞれのニブルが 1 桁を表します。各桁に 1 バイトを使うアンパックド BCD よりもメモリ効率に優れます。
代表的な BCD フォーマットには何がありますか?
代表的な BCD フォーマットには、8421 (標準加重)、2421 (自己補数型)、5421 (バイ・クイナリ)、Excess-3 (各桁に 3 を加算)、Gray BCD (連続値間のビット変化を抑える) などがあります。