Binary Coded Decimalとは? わかりやすく解説

Weblio 辞書 > コンピュータ > IT用語辞典 > Binary Coded Decimalの意味・解説 

BCD

フルスペル:Binary Coded Decimal
読み方ビーシーディー
別名:BCDコード2進化10進法2進化10進数

BCDとは、数値表現方法一種で、2進数の値を4桁用いて10進数における1分の値を表現する方法のことである。

2進数4桁使用すると、0から15まで全16通り整数表現できる。BCDでは、このうち0から9までを使用して10進数の1分を表現している。10進数において1つ上がるごとに、BCDでは4桁増えることになる。

例えば、10進数の「9」は2進数で「1001」と表し同じく10進数の「5」は2進数で「0101」と表現する。そこで、10進数の「95」はBCDでは「10010101」として表すことができる。

情報処理のほかの用語一覧
単位:  ワード
数値:  円形度  円相当径  BCD  符号付き2進数  ブロック長  基数

二進化十進表現

(Binary Coded Decimal から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/12/27 17:45 UTC 版)

二進化十進数 (BCDBinary-coded decimal ) とは、コンピュータにおける数値の表現方式の一つで、十進法の1桁を、0から9までを表す二進法の4桁で表したものである[1]。「二進化十進符号」などとも呼ばれる。3増し符号など同じ目的の他の方式や、より一般的に、十進3桁を10ビットで表現するDensely packed decimalなども含めることもある。

概要

一般に二進法の4桁(ニブル)は、0から15までの整数を表すことができる。二進化十進法ではこのうちの最初の10個を有効な数値として扱う。

十進法 BCD表現
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001

例えば、127 という整数値は、 0001、0010、0111 という3つのBCDで表される。

二進化十進数には、ゾーン形式とパック形式があり、用途に応じて使い分けられる。

符号部を持たないパック形式では、ファイルなどの中の二進化十進数値を十六進法で表示すると十進と同じように表示される。例えば、十六進で「1234」と表示されるデータは、整数値 1234 のことである。また、機種や文字コードに依存するものの、一般にゾーン形式では8ビット文字表示すると十進と同じように表示される。ただし、符号部を持つ場合も多く、上記の表示が必ずしもわかりやすいとは言えないこともある。

簡単な利用法としては、電子回路上で、0 - 9を表示可能なBCD対応の数字表示素子1つに対してBCDの4桁を4本の入力信号として直接入力する、等の使われ方がある。二進法で扱う場合と違い、表示素子に入力する前の変換が要らずデータバス上の信号をそのまま利用できるというメリットがある。

二進法で計算を行う多くのコンピュータでは、二進化十進表現を使用する機能(または、計算結果を補正するための機能)を備えている。

本来、コンピュータでは二進法で演算するのがコンピュータ資源(レジスタ、メモリ、計算量)の有効利用になる。それでも二進化十進数が有効な場合があるのは、二進法と十進法との変換を回避することに「社会的な価値」があるからである。つまり二進化十進数は純粋なコンピュータの問題ではなく、十進法社会という現実からの要請による。

「社会的な価値」の具体例として、小数の丸め処理が挙げられる。0.1 のような値は十進法では有限桁で表記可能だが、二進法では無限桁の循環小数となる。このため、一般的な二進法浮動小数点数演算では 0.1 の表現に丸め誤差があるので、それを繰り返し足し込むと誤差の影響が無視できなくなることがある。例えば以下の Java プログラムを実行すると、double 型を使って 0.1 を 10,000 回加えた結果は 1,000.0 ではなく 1,000.0000000001588 となることがわかる。

public static void main(String[] args) {
    double sum = 0.0;
    for (int i = 0; i < 10000; i++)
        sum += 0.1;
    System.out.println("sum = " + sum);
}

このような問題を避けるため、処理対象の値が十進の場合は、コンピュータ内の処理も二進化十進数で実装されることが少なくない。通貨を扱う事務アプリケーションなどが、しばしばこのケースに該当する。

なお、10.0 / 3.0 を計算する時には全く何も変わらない同様の問題を十進でも抱えている。このようなケースでは、二進化十進数でも正確に表す事はできない。

デ=ジュレ標準による標準化の要請が根強く存在していることもあって、浮動小数点表現の標準であるIEEE 754に2008年の改訂で十進浮動小数点が追加された。これには、より効率の良い Densely packed decimal(DPD)方式が採用された。

出典

  1. ^ P.HAYES, JOHN (1978,1979). Computer Architecture and Organization. McGRAW-HILL INTERNATIONAL BOOK COMPANY. p. 155-156. ISBN 0-07-027363-4 

関連項目



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Binary Coded Decimal」の関連用語

Binary Coded Decimalのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Binary Coded Decimalのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
IT用語辞典バイナリIT用語辞典バイナリ
Copyright © 2005-2025 Weblio 辞書 IT用語辞典バイナリさくいん。 この記事は、IT用語辞典バイナリの【BCD】の記事を利用しております。
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアの二進化十進表現 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS