10進数の表現方法「BCDコード」「ゾーン10進数」「パック10進数」の比較や違いについて解説します。
[latexpage]
【10進数の表現方法】「BCDコード」「ゾーン10進数」「パック10進数」
コンピュータでは、基本的に数値を2進数で表します。
しかし、文字データや10進数との対応が取りやすくするため、キーボード等でのデータ入力時には10進数を使うことが多いです、
そのため、2進数への変換前に10進数のままデータを処理することがあります。
そのような場合に使われる10進数の表現方法として、「BCDコード」「ゾーン10進数」「パック10進数」があります。
【BCDコード】計算例と2進数との比較
10進数(0~9)に対応した4ビットの2進数(0000~1001)で10進数の各桁を表現する方法をBCDコード(Binary Coded Decimal code:2進化10進コード)といいます。
なお、1011~1111は使用されません。
【例】10進数「75」を2進数と10進数で表現すると以下の表のようになります。
10進数 | 2進数 | BCDコード |
---|---|---|
75 | 01001011 | 01110101 |
BCDコードでは、10進数を1桁ずつ2進数にし最後に連結します。。
よって、7は「0111」、5は「0101」なので、連結して75は「01110101」となります。
なお、2進数であれば4ビットで0~15を表現可能ですが、BCDは2進化10進数であるため、4ビットで0~9までの数値を表現可能です。
【ゾーン10進数】
BCDコードでは、4ビットで10進数の1桁を表現していましたが、これを8ビットにしたものがゾーン10進数です。
上位4ビットのゾーン部(最下位バイトは符号部)と呼ばれる部分では、数値データであることを表します。
そして、下位4ビットはBCDコードで数値を表す。
【パック10進数】
パック10進数は、10進数2桁を1バイトで表したものです。
数値部はBCDコードを使って表し、最下部に符号部を追加します。
偶数桁の場合符号部を足すと2桁にならないので先頭に0を追加します。
コメント