logo

バイナリからBCDコードへの変換

BCD コードはデジタル回路において重要な役割を果たします。 BCD は、Binary Coded Decimal Number の略です。 BCD コードでは、10 進数の各桁が同等の 2 進数として表されます。したがって、10 進数の LSB と MSB は 2 進数として表されます。 2 進数を BCD に変換するには、次の手順があります。

  1. まず、2進数を10進数に変換します。
  2. 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 関数を次のように表現できます。

バイナリからBCDコードへの変換

上記の SOP 関数の K マップは次のとおりです。

バイナリからBCDコードへの変換
バイナリからBCDコードへの変換
バイナリからBCDコードへの変換
バイナリからBCDコードへの変換
バイナリからBCDコードへの変換

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