BCD コードはデジタル回路において重要な役割を果たします。 BCD は、Binary Coded Decimal Number の略です。 BCD コードでは、10 進数の各桁が同等の 2 進数として表されます。したがって、10 進数の LSB と MSB は 2 進数として表されます。 2 進数を BCD に変換するには、次の手順があります。
- まず、2進数を10進数に変換します。
- 10進数をBCDに変換してみます。
2 進数を BCD に変換するプロセスを理解するための例を見てみましょう
例 1: (11110)2
1. まず、指定された 2 進数を 10 進数に変換します。
2 進数: (11110)2
数値に相当する 10 進数を検索する:
ステップ | 2進数 | 10進数 |
---|---|---|
1) | (11110)2 | ((1×24) + (1 × 23) + (1 × 22) + (1 × 21) + (0 × 20))10 |
2) | (11110)2 | (16 + 8 + 4 + 2 + 0)10 |
3) | (11110)2 | (30)10 |
2進数の10進数(11110)2は (30)10
2. 次に、10 進数を BCD に変換します。
10 進数の各桁を 4 ビットの 2 進数のグループに変換します。
二重リンクリスト
ステップ | 10 進数 | 変換 |
---|---|---|
ステップ1 | 3010 | (0011)2(0000)2 |
ステップ2 | 3010 | (00110000)BCD |
結果:
(11110)2= (00110000)BCD
以下は、10 進数と 2 進数の BCD コードを含む表です。
バイナリコード | 10 進数 | BCDコード |
---|---|---|
あいうえお | B4:B3B2B1B0 | |
0 0 0 0 | 0 | 0 : 0 0 0 0 |
0 0 0 1 | 1 | 0 : 0 0 0 1 |
0 0 1 0 | 2 | 0 : 0 0 1 0 |
0 0 1 1 | 3 | 0 : 0 0 1 1 |
0 1 0 0 | 4 | 0 : 0 1 0 0 |
0 1 0 1 | 5 | 0 : 0 1 0 1 |
0 1 1 0 | 6 | 0 : 0 1 1 0 |
0 1 1 1 | 7 | 0 : 0 1 1 1 |
1 0 0 0 | 8 | 0 : 1 0 0 0 |
1 0 0 1 | 9 | 0 : 1 0 0 1 |
1 0 1 0 | 10 | 10000 |
1 0 1 1 | 十一 | 1 : 0 0 0 1 |
1 1 0 0 | 12 | 1 : 0 0 1 0 |
1 1 0 1 | 13 | 1 : 0 0 1 1 |
1 1 1 0 | 14 | 1 : 0 1 0 0 |
1 1 1 1 | 15 | 1 : 0 1 0 1 |
上の表では、10 進数の最上位ビットはビット B4 で表され、最下位ビットは B3、B2、B1、および B0 で表されます。上の表から、BCD コードのさまざまなビットに対する SOP 関数を次のように表現できます。
上記の SOP 関数の K マップは次のとおりです。
BCD からバイナリへの変換
BCD コードをバイナリに変換するプロセスは、バイナリ コードを BCD に変換するプロセスの逆です。 BCD コードをバイナリに変換するには、次の手順があります。
最初のステップでは、次のように変換します。 4 ビットのグループを作成し、各グループに相当する 10 進数を見つけることにより、BCD 数値を 10 進数に変換します。
最後のステップで、次のように変換します。 10 進数を 2 進数に変換するプロセスを使用して、10 進数を 2 進数に変換します。
例 1: (00101000)BCD
1) BCD を 10 進数に変換する
4 桁のグループを作成し、次のように同等の 10 進数を見つけます。
ステップ | BCD番号 | 変換 |
---|---|---|
ステップ1 | (00101000)BCD | (0010)2(1000)2 |
ステップ2 | (00101000)BCD | (2)10(8)10 |
ステップ3 | (00101000)BCD | (28)10 |
指定された BCD コードの 10 進数は次のとおりです: (28)10
タイガーライオンの違い
2. 10 進数を 2 進数に変換する
次のように、long 除算法を使用して 10 進数を 2 進数に変換します。
ステップ | 手術 | 結果 | 残り |
---|---|---|---|
1. | 2月28日 | 14 | 0 |
2. | 2月14日 | 7 | 0 |
3. | 7/2 | 3 | 1 |
4. | 3/2 | 1 | 1 |
5. | 1/2 | 0 | 1 |
残りを逆の順序で並べます。したがって、2 進数の LSB は最初の剰余であり、2 進数の MSB は最後の剰余です。
10進数の2進数(18)10は: (11100)2
結果:
(00101000)BCD= (11100)2