二进制 转换成十进制 bcd码(加3移位法)

二进制 转换成十进制 bcd码(加3移位法)

ID:16198105

大小:34.50 KB

页数:4页

时间:2018-08-08

二进制 转换成十进制 bcd码(加3移位法)_第1页
二进制 转换成十进制 bcd码(加3移位法)_第2页
二进制 转换成十进制 bcd码(加3移位法)_第3页
二进制 转换成十进制 bcd码(加3移位法)_第4页
资源描述:

《二进制 转换成十进制 bcd码(加3移位法)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、二进制转换成十进制BCD码(加3移位法)(2010-07-0515:53)分类:算法“原来的二进制数十几位,则左移时就要左移几位”  "二进制数调整BCD码的方法是将二进制码左移8次,每次移位后都检查低四位LSD+3是否大于7,如是则加3,否则不加,高4位MSD作同样处理"一、为什么左移8次原寄存器是存二进制数的,新寄存器是存十进制数的,当然要左移8次,把数据全部移进去。但这里要注意两件事,第一,如果只安排一个字节作十进制寄存器,原数据要小于64H(即100)。第二,由于新寄存器是十进制的,要随时调整。二、检查半字节+3是否大于7,是,则+3在51系列里有十进制调节指令(半字

2、节大于9,则加6,应该不难理解),PIC里没有,只好采取变通的方法。检查半字节+3是否大于7,也就是检查半字节是否大于4。因为,如果大于4(比如5、6),下一步左移就要溢出了,所以加3,等于左移后的加6,起到十进制调节的作用。那为什么要绕个圈子去检测半字节+3是否大于7呢?这样程序编起来会简练一些。一个例子假如有一个八位二进制数255,我把他转255的十进制数0       11111111   原数1       00000001   ;左移一次2       00000011  ;左移二次3       00000111   ;左移三次,检查低四位+3>7?3.1    

3、00001010   ;大于7,加3进行调整4       00010101   ;左移四次,检查低四位+3>7?4.1    00011000  ;大于7,加3进行调整5       00110001   ;左移五次6       01100011   ;左移六次,检查高四位+3>7?6.1     10010011  ;大于7,加3进行调整7          100100111    ;左移七次,检查低四位+3>7?7.1      100101010     ;大于7,加3进行调整8          1001010101   ;左移八次(得到BCD码255)附上Ve

4、rilog代码://17位二进制数转BCD码(基本思想是逢十进1)moduleBIN_BCD_4(CLK,A,BW,BQ,BB,BS,BG);   inputCLK;   input [16:0]A;     //二进制输入数据   output[3:0]BW,BQ,BB,BS,BG;//BCD数据输出寄存器   reg  [3:0]BW,BQ,BB,BS,BG;   integerI;   reg [19:0]TEMP;   reg [16:0]C;   always@(posedgeCLK)   begin    C=A;    TEMP=0;    for(I=1;I<

5、17;I=I+1)      begin      {TEMP,C}={TEMP[18:0],C,1'b0};//左移一位      if(TEMP[3:0]>4'b0100)        begin         TEMP[3:0]=TEMP[3:0]+3;//>4则加3        end       if(TEMP[7:4]>4'b0100)        begin         TEMP[7:4]=TEMP[7:4]+3;        end       if(TEMP[11:8]>4'b0100)        begin         TEMP[11

6、:8]=TEMP[11:8]+3;        end       if(TEMP[15:12]>4'b0100)        begin         TEMP[15:12]=TEMP[15:12]+3;        end       if(TEMP[19:16]>4'b0100)        begin         TEMP[19:16]=TEMP[19:16]+3;        end       {BW,BQ,BB, BS,BG}={TEMP[18:0],A[0]};      end   end  endmodule

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。