數位電子技術 - 程式碼轉換



在數位電子技術中,我們根據數字系統的規格使用不同型別的二進位制程式碼。為了在不同的數字系統之間進行正確的資料交換,需要執行一個重要的過程,稱為程式碼轉換

程式碼轉換是將數字程式碼從一種格式轉換為另一種格式的過程。程式碼轉換被認為是計算機、微控制器、通訊系統等各種數字系統中的一個重要過程。

本章我們將學習以下主要的程式碼轉換:

  • 二進位制到BCD碼轉換
  • BCD碼到二進位制轉換
  • 二進位制到格雷碼轉換
  • 格雷碼到二進位制轉換
  • BCD碼到餘3碼轉換
  • 餘3碼到BCD碼轉換
  • 餘3碼到格雷碼轉換
  • 格雷碼到餘3碼轉換

讓我們藉助示例詳細瞭解每種程式碼轉換。

二進位制到BCD碼轉換

BCD代表二進位制編碼的十進位制數。因此,BCD是用二進位制格式表示的十進位制數。純二進位制到BCD的轉換按照以下步驟進行:

步驟1 - 將給定的純二進位制數轉換為其等效的十進位制數。

步驟2 - 將獲得的十進位制數轉換為BCD碼。

讓我們透過一個示例瞭解二進位制到BCD碼的轉換。

示例

將(100111)2轉換為BCD碼。

解答

給定的二進位制數為:

二進位制 = 100111

給定二進位制數的十進位制等效值為

1 × 25 + 0 × 24 + 0 × 23 + 1 × 22 + 1 × 21 + 1 × 20

= 1 × 32 + 0 × 16 + 0 × 8 + 1 × 4 + 1 × 2 + 1 × 1

= 32 + 0 + 0 + 4 + 2 + 1 = (39)10

現在,將(39)10轉換為BCD碼,我們得到:

(3)10 = (0011)BCD

(9)10 = (1001)BCD

因此,給定二進位制數的BCD等效值為:

(100111)2 = (0011 1001)BCD

BCD碼到二進位制轉換

BCD碼到二進位制轉換是前面討論的二進位制到BCD碼轉換的逆過程。

BCD碼到二進位制轉換按照以下步驟進行:

步驟1 - 將給定的BCD碼轉換為其等效的十進位制格式。

步驟2 - 將獲得的十進位制數轉換為等效的二進位制格式。

以下示例演示了BCD碼到二進位制轉換。

示例

將(1001 0111 0010)BCD轉換為二進位制碼。

解答

將給定的BCD碼轉換為十進位制等效值:

(1001)BCD = (9)10

(0111)BCD = (7)10

(0010)BCD = (2)10

因此,給定BCD碼的十進位制等效值為

(1001 0111 0010)BCD = (972)10

現在,將獲得的十進位制數轉換為等效的二進位制數,972 = 1111001100

BCD to Binary Code Conversion

因此,(1001 0111 0010)BCD的二進位制等效值為(1111001100)2

二進位制到格雷碼轉換

將二進位制數轉換為其等效格雷碼的過程稱為二進位制到格雷碼轉換。我們知道格雷碼是一種二進位制編碼方案,其中兩個連續的程式碼只有一位不同。

下面解釋了將二進位制程式碼轉換為格雷碼的分步過程:

假設給定的二進位制程式碼為Bn Bn-1 Bn-2 … B2 B1,等效的格雷碼為Gn Gn-1 Gn-2 … G2 G1。然後:

步驟1 - 將二進位制程式碼的最高有效位(MSB)或最左位(Bn)作為格雷碼(Gn)的最左位,即:

Gn = Bn

步驟2 - 對二進位制程式碼的MSB(Bn)和下一位(Bn-1)進行異或運算。將結果記錄為格雷碼(Gn-1)的下一位,即:

$$\mathrm{G_{n-1} \: = \: B_{n} \oplus B_{n-1}}$$

步驟3 - 對下一位Bn-1和Bn-2進行異或運算,將結果記錄為格雷碼(Gn-2)的下一位,即:

$$\mathrm{G_{n-2} \: = \: B_{n-1} \oplus B_{n-2}}$$

步驟4 - 重複此過程,直到給定的二進位制程式碼的所有位都用盡。獲得的程式碼將是等效的格雷碼。

讓我們透過一個示例瞭解二進位制到格雷碼的轉換。

示例

將(110110)2轉換為其等效格雷碼。

解答

給定的二進位制程式碼為:

二進位制 = 110110

將給定的二進位制數轉換為其等效格雷碼:

Binary to Gray Code Conversion

因此,等效格雷碼為(101101)格雷

格雷碼到二進位制轉換

將格雷碼轉換為其等效二進位制程式碼的過程稱為格雷碼到二進位制轉換。將給定的格雷碼轉換為等效二進位制程式碼的過程按照以下步驟進行:

假設給定的格雷碼為Gn Gn-1 Gn-2 … G2 G1,二進位制程式碼為Bn Bn-1 Bn-2 … B2 B1。然後:

步驟1 - 等效二進位制程式碼的最左位或MSB與格雷碼的MSB相同,因此將其複製,即:

Bn = Gn

步驟2 - 對二進位制數的MSB Bn和格雷碼的下一位(Gn-1)進行異或運算。將其記錄為二進位制數的下一位,即:

$$\mathrm{B_{n-1} \: = \: B_{n} \oplus G_{n-1}}$$

步驟3 - 對位Bn-1和格雷碼的下一位(Gn-2)進行異或運算。將結果記錄為二進位制數的下一位,即:

$$\mathrm{B_{n-2} \: = \: B_{n-1} \oplus G_{n-2}}$$

步驟4 - 繼續此過程,直到所有格雷碼位都用盡。獲得的位序列將是給定格雷碼的純二進位制程式碼等效值。

讓我們來看一個例子,瞭解格雷碼到等效二進位制碼的轉換。

示例

將格雷碼(110010)gray轉換為其等效的二進位制碼。

解答

格雷碼轉換為二進位制碼的過程如下:

Gray to Binary Code Conversion

因此,(110010)gray的二進位制等效碼為(100011)2

BCD碼到餘3碼轉換

將給定的BCD碼(二進位制編碼的十進位制碼)轉換為其等效的餘3碼的過程稱為BCD到餘3碼的轉換。

要將BCD碼轉換為其等效的餘3碼,我們按照以下步驟操作:

步驟1 - 將0011(3)加到給定BCD碼的每個4位組。

步驟2 - 結果碼將是等效的XS-3碼。

需要注意的是,在XS-3碼中,有六個無效的位組合。它們是0000、0001、0010、1101、1110和1111。

讓我們來看一個例子,瞭解BCD到餘3碼的轉換。

示例

將(0011 1001 1000)BCD轉換為其等效的XS-3碼。

解答

將給定的BCD碼轉換為其等效XS-3碼的過程如下:

BCD碼 0011 1001 1000
加上0011 0011 0011 0011
XS-3碼 0110 1100 1011

因此,(0011 1001 1000)BCD的等效XS-3碼為(0110 1100 1011)XS-3

餘3碼到BCD碼轉換

將給定的XS-3碼轉換為其等效BCD碼(二進位制編碼的十進位制碼)的過程稱為餘3碼到BCD碼的轉換。

將餘3碼轉換為BCD碼的過程按照以下步驟進行:

步驟1 - 從XS-3碼的每個4位組中減去0011(3)。

步驟2 - 結果碼將是給定XS-3碼的BCD碼等效碼。

讓我們透過一個例子來了解餘3碼到BCD碼的轉換。

示例

將(1100 1001 0110)XS-3轉換為其等效的BCD碼。

解答

XS-3碼到BCD碼的轉換如下:

XS-3碼 1100 1001 0110
減去0011 0011 0011 0011
BCD碼 1001 0110 0011

因此,(1100 1001 0110)XS-3的等效BCD碼為(1001 0110 0011)BCD

結論

總之,程式碼轉換是將一種格式的二進位制程式碼轉換為另一種格式的過程。例如,我們可以將BCD碼轉換為其等效的純二進位制碼,或將XS-3碼轉換為其等效的BCD碼等等。在本章中,我們解釋了不同型別的程式碼轉換。

廣告
© . All rights reserved.