【代码】二进制转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实现
posted @ 2016-07-21 09:36  tony_ning  阅读(4856)  评论(0编辑  收藏  举报