BCD:Binary Coded Decimal 即用4位二進制編碼表示1位的十進制數.html
定義:BCD碼這種編碼形式利用了四個位元來儲存一個十進制的數碼,使二進制和十進制之間的轉換得以快捷的進行。這種編碼技巧,最經常使用於會計系統的設計裏,由於會計制度常常須要對很長的數字串做準確的計算。相對於通常的浮點式記數法,採用BCD碼,既可保存數值的精確度,又可免卻使電腦做浮點運算時所耗費的時間。此外,對於其餘須要高精確度的計算,BCD編碼亦很經常使用。
此處要介紹的是二進制轉BCD碼的硬件實現,採用左移加3的算法,具體描述以下:
(此處以8-bit 二進制碼爲例)
一、左移要轉換的二進制碼1位
二、左移以後,BCD碼分別置於百位、十位、個位
三、若是移位後所在的BCD碼列大於或等於5,則對該值加3
四、繼續左移的過程直至所有移位完成
舉例:將十六進制碼0xFF轉換成BCD碼
Verilog實現
加3操做:
真值表