二進位制編碼的十進位制 (BCD) 加法
讓我們從概述二進位制編碼的十進位制 (BCD) 程式碼開始本文,然後繼續討論 BCD 加法。
什麼是 BCD?
BCD 或 二進位制編碼的十進位制 是一種編碼方案,用於以一組 4 位二進位制數字的形式表示十進位制數 (0 到 9)。二進位制編碼的十進位制是將十進位制數轉換為等效二進位制格式的最簡單形式。儘管二進位制編碼的十進位制或 BCD 與普通的二進位制表示不相同。
在二進位制編碼的十進位制 (BCD) 編碼方案中,每個十進位制數字都表示為一組 4 位二進位制數。對於多位十進位制數,十進位制數的每個數字都在 BCD 中單獨編碼。
眾所周知,一個 4 位二進位制數可以表示 16 個十進位制數字,但在二進位制編碼的十進位制中,BCD 程式碼 1010、1011、1100、1101、1110 和 1111 等於十進位制 10、11、12、13、14 和 15 被認為是非法組合。
十進位制到二進位制編碼的十進位制真值表
以下是表示從 0 到 9 的十進位制數字的二進位制編碼的十進位制 (BCD) 等效值的真值表 -
十進位制數字 |
二進位制編碼的十進位制程式碼 |
|---|---|
0 |
0000 |
1 |
0001 |
2 |
0010 |
3 |
0011 |
4 |
0100 |
5 |
0101 |
6 |
0110 |
7 |
0111 |
8 |
1000 |
9 |
1001 |
現在讓我們瞭解如何將給定的十進位制數轉換為其等效的二進位制編碼的十進位制。
示例:十進位制到二進位制編碼的十進位制轉換
以下示例顯示瞭如何將十進位制數轉換為 BCD 程式碼 -
將 (125)10 轉換為其等效的二進位制編碼的十進位制 (BCD) 程式碼。
十進位制數 | 1 |
2 |
5 |
|||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
BCD 權重 |
8 |
4 |
2 |
1 |
8 |
4 |
2 |
1 |
8 |
4 |
2 |
1 |
BCD 程式碼 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
因此,(125)10 的二進位制編碼的十進位制為 (0001 0010 0101)。
現在,讓我們討論二進位制編碼的十進位制 (BCD) 加法。
二進位制編碼的十進位制加法
二進位制編碼的十進位制加法遵循二進位制算術規則,但是有一些額外的事項需要處理。兩個 BCD 數的 BCD 加法按照以下步驟執行 -
步驟 1 - 按照二進位制加法規則執行兩個 BCD 數的加法。
步驟 2 - 如果結果或和是小於或等於 9 的 4 位二進位制數,則該和是有效的 BCD 數。
步驟 3 - 如果和是大於 9 的 4 位數,或者生成了進位,則該和是無效的。
步驟 4 - 為了獲得校正的結果/和,將 6 (0110) 加到 4 位無效和中。如果在新增 6 時生成了進位,則傳播並將此進位加到下一組 4 位中。此步驟是為了跳過六個非法的 BCD 程式碼(即 1010、1011、1100、1101、1110 和 1111)。
二進位制加法規則
以下是用於執行兩個二進位制數字的二進位制加法的規則 -
| 第一位 | 第二位 | 結果 |
|---|---|---|
| 0 | 0 | 0 + 0 = 0;無進位 |
| 0 | 1 | 0 + 1 = 1;無進位 |
| 1 | 0 | 1 + 0 = 1;無進位 |
| 1 | 1 | 1 + 1 = 0;進位 = 1 |
在瞭解了 BCD 加法和二進位制加法規則之後,讓我們現在考慮一些已解決的示例,以詳細瞭解 BCD 加法。
示例 1
在 BCD 方案中執行加法 30 + 15。
解答 - 給定的十進位制數及其等效的 BCD 表示為,
(30)10 = (0011 0000)BCD
(15)10 = (0001 0101)BCD
給定數字的 BCD 加法如下 -
30 |
0011 |
0000 |
||
+ 15 |
+ |
0001 |
0101 |
|
45 |
0100 |
0101 |
示例 2
在二進位制編碼的十進位制中執行加法 678 + 535。
解答 - 給定的十進位制數及其 BCD 表示為,
(678)10 = 0110 0111 1000
(535)10 = 0101 0011 0101
BCD 加法如下 -
678 |
0110 |
0111 |
1000 |
|||
+ 535 |
+ |
0101 |
0011 |
0101 |
||
1213 |
1011 |
1010 |
1101 |
(所有都是非法程式碼) |
||
+ |
0110 |
0110 |
0110 |
(為每個新增 0110) |
||
1 0001 |
1 0000 |
1 0011 |
(傳播進位) |
|||
+1 |
1 |
1 |
||||
0001 |
0010 |
0001 |
0011 |
(校正後的和 = 1213) |
教程問題
求 BCD 數 (0001 1001) 和 (0100 1000) 的和。
求十進位制數 25 和 35 在 BCD 中的和。
結論
總之,BCD 加法是透過將以 4 位二進位制組表示的十進位制數的各個數字從最右邊的數字開始相加來執行的。如果和項不是非法的 BCD 程式碼並且沒有進位輸出,則不需要校正。如果和項是非法的 BCD 程式碼或產生了進位,則將 6 (0110) 加到該組的和項以校正結果。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP