解析 bcd码也叫8421码就是将十进制的数以8421的形式展开成二进制,大家知道十进制是0~9十个数组成,着十个数每个数都有自己的8421码:0=0000 1=0001 2=0010 3=0011 4=0100 5=0101 6=0110 7=0111 8=1000 9=1001 举个例子:321的8421码就是 3 2 1 0011 0010 0001 就是这样了:)...
可以用加3移位法转换:bcd码中只有0~9十进制数,但是在四位二进制中是16进制进1,因此在移位过程中要对二进制进行判断,当在移位之后的状态Qn+1大于9,要对Qn加6才可以。例如:1000移位大于9加6为0001_0110,对应bcd码中的16。也可以在移位之前进行判断,如果移位之前的Qn数据大于4,说明Qn+1会...
例如,将十进制数32转换成十六进制数的过程如下: 32÷16 = 2…0 2÷16 = 0…2 因此,32转换成十六进制数为20。 三、BCD码直接转换成十六进制数 将BCD码直接转换成十六进制数的方法是将每个四位二进制数转换成十进制数,然后将十进制数转换成十六进制数。例如,将BCD码1101 1010 0011 0110直接转换成十六进制...
一、BCD码的转换 BCD码是将十进制数码的0~9转化为4位二进制数码来表示的,其中每一位都代表一个十进制数码。例如,数字0可以表示为0000,数字1可以表示为0001,以此类推,数字9可以表示为1001。 以数字234为例,其BCD码的表示为0010 0011 0100。其中,0010代表数字2,0011代表数字3,0100代表数字4。 二、将BCD码转...
假如R0里储存的是37分钟的BCD码,那么R0里的数是37H, 要把它转换成37的十六进制25H存入R1中。我们现实的算 法是37/16=25H就可以得出结果,但是机器没那么聪明, 因为37H是十六进制。汇编程序解决的方法如下: MOV A,R0 ; ANL A,#0FH ;屏蔽高4位(即屏蔽分钟的十位) MOV R2,A ;把个位的值给R2 MOV A...
MOV BcdData+3,B ;得到个位 SWAP A ORL A,R2 SWAP A MOV R7,A ;第一次除法完成 ANL A,#0F0H ORL A,R6 SWAP A MOV B,#0AH DIV AB SWAP A MOV R1,A ;存入高位商MOV A,R7 ANL A,#0FH SWAP A ORL A,B SWAP A MOV B,R4 DIV AB ;第二次除法完成 MOV BcdData+2,B ;保存BCD十位 ...
可以用加3移位法转换:BCD码中只有0~9十进制数,但是在四位二进制中是16进制进1,因此在移位过程中要对二进制进行判断,当在移位之后的状态Qn+1大于9,要对Qn加6才可以。同时,也可以在移位之前进行判断,如果移位之前的Qn数据大于4,说明Qn+1会溢出,所以可以+3再进行移位,和刚才结果是一样的。
3251=0011001001010001(B)12907=00010010100100000111(B)2006=0010000000000110(B)
比如说你从1302里读出一个time值是BCD码 用 time/16 是16进制的十位 再用 time%16 是16进制的个位