【代碼】二進制轉BCD [轉]


BCD:Binary Coded Decimal 即用4位二進制編碼表示1位的十進制數.

 
定義:BCD碼這種編碼形式利用了四個位元來儲存一個十進制的數碼,使二進制和十進制之間的轉換得以快捷的進行。這種編碼技巧,最常用於會計系統的設計里,因為會計制度經常需要對很長的數字串作准確的計算。相對於一般的浮點式記數法,采用BCD碼,既可保存數值的精確度,又可免卻使電腦作浮點運算時所耗費的時間。此外,對於其他需要高精確度的計算,BCD編碼亦很常用。
參考百度百科對BCD碼的解釋: http://baike.baidu.com/view/45179.htm
 
此處要介紹的是二進制轉BCD碼的硬件實現,采用左移加3的算法,具體描述如下:
(此處以8-bit 二進制碼為例)
1、左移要轉換的二進制碼1位
2、左移之后,BCD碼分別置於百位、十位、個位
3、如果移位后所在的BCD碼列大於或等於5,則對該值加3
4、繼續左移的過程直至全部移位完成
 
舉例:將十六進制碼0xFF轉換成BCD碼
二進制轉BCD的Verilog實現
 
Verilog實現
加3操作:
真值表
二進制轉BCD的Verilog實現

二進制轉BCD的Verilog實現


二進制轉BCD的Verilog實現

二進制轉BCD的Verilog實現


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM