导航:首页 > 方法技巧 > bcd码如何转成十六进制方法

bcd码如何转成十六进制方法

发布时间:2022-05-23 17:09:34

1. BCD码 转为 二进制 16进制

3251=0011001001010001(B)
12907=00010010100100000111(B)
2006=0010000000000110(B)

2. BCD码转换成十进制再转成十六进制,为什么

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
原因:
0
0
1
1
=8x0+4x0+1x2+1x1
=3
0
0
1
0=8x0+4x0+2x1+1x0=2.
0
0
0
1
=8x0+4x0+2x0+1x1
=1
bcd码是四位二进制码,
也就是将十进制的数字转化为二进制,
但是和普通的转化有一点不同,
每一个十进制的数字0-9都对应着一个四位的二进制码,对应关系如下:
十进制0
对应
二进制0000
;十进制1
对应二进制0001
.......
9
1001
接下来的10就有两个上述的码来表示
10
表示为00010000
也就是BCD码是遇见1001就产生进位,不象普通的二进制码,到1111才产生进位10000

3. 求助:把一个bcd转成十六进制

先将BCD码转换为十进制,然后在再转换成十六进制 8421 BCD码是最基本和最常用的BCD码,它和四位自然二进制码相似,各位的权值为8、4、2、1,故称为有权BCD码。和四位自然二进制码不同的是,它只选用了四位二进制码中前10组代码,即用0000~1001分

4. 在单片机c中,怎么将bcd码怎么转换成十六进制再比较这两个数是否相等

unsigned long BCDtoDec(const unsigned char *bcd, int length)
{
int i, tmp;
unsigned long dec = 0;

for(i=0; i<length; i++)
{
tmp = ((bcd[i]>>4)&0x0F)*10 + (bcd[i]&0x0F);
dec += tmp * power(100, length-1-i);
}

return dec;
}

转成10进制比较大小,如果需要16进制输出,再转成16

5. 单片机BCD转十六进制问题

这是个压缩BCD码转换为十六进制的程序,
BCDH: MOV B,#10H ;分离十位和个位,这里除以16,就是将高四位移动到低四位,低四位给B
DIV AB
MOV 57H,B ;暂存个位,B是余数,也就是低四位
MOV B,#10 ;将十位转换成十六进制,高四位原来是十进制,现在变成了低四位,还原本来值,所以乘10
MUL AB
ADD A,57H ;按十六进制加上个位,高低四位的值相加就是结果了
RET

6. 用汇编语言将BCD码转化为十六进制数

Hex2Bcd:
CLR A
MOV BCDDATA,A ;正负号初始化
MOV A,R6
JNB ACC.7,H2B
MOV BCDDATA,#0AH ;建负号标志
CPL A
MOV R6,A
MOV A,R7
CPL A
INC A
MOV R7,A
JNZ H2B
INC R6
H2B: MOV R4,#0AH
MOV B,R4
MOV A,R6
DIV AB
MOV R6,A
MOV A,R7
ANL A,#0F0H
ORL A,B
SWAP A
MOV B,R4
DIV AB
MOV R2,A
MOV A,R7
SWAP A
ANL A,#0F0H
ORL A,B
SWAP A
MOV B,R4
DIV AB
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十位
ORL A,R1
MOV B,R4
DIV AB
MOV BcdData+1,B ;保存百位
JZ Hex2BcdRet
MOV BcdData+0,A ;保存千位

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

Hex2BcdRet:
RET
END

7. BCD码如何转换成十六进制数

BCD码与十进制数的转换关系很直观,相互转换也很简单。

将十进制数75.4转换为BCD码:7-》0111,5-》0101,4-》0100所以拼成8421BCD码的结果是:(0111 0101.0100)BCD;若将BCD码1000 0101.0101转换为十进制数:1000-》8,0101-》5,0101-》5所以结果是:(85.5)。

注意:同一个8位二进制代码表示的数,当认为它表示的是二进制数和认为它表示的是二进制编码的十进制数时,数值是不相同的。

(7)bcd码如何转成十六进制方法扩展阅读

看数据的来源和用途。BCD码一般用于输入和输出,例如来自拨码开关的数据是BCD码,送给显示电梯楼层的译码器芯片的是BCD码。

8421 BCD码是最基本和最常用的BCD码,它和四位自然二进制码相似,各位的权值为8、4、2、1,故称为有权BCD码。和四位自然二进制码不同的是,它只选用了四位二进制码中前10组代码,即用0000~1001分别代表它所对应的十进制数,余下的六组代码不用。

BCD码用十六进制格式输入,其最高位(符号位为16#F(2#1111)。BCD码的低3位各位只能是0~9,如果是16#A~16#F则会出错。 计数器的预设值PV是0~999的BCD码,可以用格式为C#的常数(C#1~C#999)作为计数器的预设值。

8. 8421BCD码1000001转换为16进制数是

BCD码(Binary-Coded Decimal),用4位二进制数来表示1位十进制数中的0~9这10个数码,是一种二进制的数字编码形式,用二进制编码的十进制代码。BCD码这种编码形式利用了四个位元来储存一个十进制的数码,使二进制和十进制之间的转换得以快捷的进行。这种编码技巧最常用于会计系统的设计里,因为会计制度经常需要对很长的数字串做准确的计算。相对于一般的浮点式记数法,采用BCD码,既可保存数值的精确度,又可免去使计算机做浮点运算时所耗费的时间。此外,对于其他需要高精确度的计算,BCD编码亦很常用。
BCD码也称二进码十进数,BCD码可分为有权码和无权码两类。其中,常见的有权BCD码有8421码、2421码、5421码,无权BCD码有余3码、余3循环码、格雷码。8421BCD码是最基本和最常用的BCD码,它和四位自然二进制码相似,各位的权值为8、4、2、1,故称为有权BCD码。
8421BCD码与10进制数的关系是:
0:0000
1:0001
2:0010
3:0011
4:0100
5:0101
6:0110
7:0111
8:1000
9:1001
8421BCD的1000001,从个位开始向前,4位一组分组:0100,0001,前面不足4位补0,根据上面的对应关系,是10进制的41。
41化成16进制:41=32+9=(29)16

9. bcd码(1001010010)转换成二进制数是多少转换成十进制是多少十六进制是多少

bcd码(10 0101 0010),
转换成十进制数是:252。
转换成二进制数是:11111100。
转换成十六进制是:FC。

10. 关于bcd码和十六进制数的区别

在使用RTC 外设时,我们常常会接触 BCD 码的概念,同时鱼鹰在介绍 USB 协议版本时也说了 BCD 码,那么什么是 BCD 码?

BCD 码分为多种,今天鱼鹰介绍最常用的 8421 BCD码。

进制

高四位

低四位

BCD码

4

5

十六进制

4

5

十进制

6

9

假如我们需要设置 RTC 时钟的秒值为 45 秒,因为一般芯片会使用 BCD 码进行存储,所以我们需要存储到芯片寄存器的值就是 0x45,注意这是十六进制表示,如果你写入寄存器时用十进制表示,那么就是 69。

代码表示如下:

不管你使用哪种方式,最终写入的二进制都是一样的,没有任何区别。不过因为是 BCD 码格式,当写入的值为立即数时,建议使用十六进制,这样看起来更直观一些。

从这个例子中我们其实也可以看出一点规律,那就是所谓的 BCD 码就是把十六进制的写法直接认为是十进制的值。

实际上也确实如此。

BCD 码中,使用4个位(二进制位)来表示一个十进制的值,范围 0~9。

也就是说,本来十六进制 4 个位可以表示0~15,但因为十进制的范围是 0~9,所以这四个位的范围也因此被限制住了。

同时在一个字节中,高四位代表十进制的十位,低四位代表十进制的个位。

了解这一点,你就知道该如何把十进制转化成BCD码的形式进行存储,又该如何将 BCD 码转化为十进制了。

还是以存储秒寄存器(BCD码存储)为例:

通过以上两个宏,我们就可以在0 ~ 99 范围内随意转化,当需要更大范围时,理解原理,修改起来也不就是那么麻烦了。

阅读全文

与bcd码如何转成十六进制方法相关的资料

热点内容
网课培训的课时计算方法 浏览:168
演化分析的方法和技巧 浏览:962
如何缓解胃癌的有效方法 浏览:623
孕妇手麻怎么治疗方法 浏览:155
oppo手机第一次最好的充电方法 浏览:878
春节晚会图片制作方法 浏览:53
手机版装载电脑版模组组件方法 浏览:735
雨伞架安装方法 浏览:716
木质手机架安装方法 浏览:28
循环水中铜离子检测方法 浏览:60
钛的快速治疗方法 浏览:888
龙胶囊功效作用及食用方法 浏览:358
鼻漏的治疗方法 浏览:387
哄老婆的方法有哪些现实 浏览:508
一氧化氮有哪些检验方法 浏览:95
日本电池检测方法 浏览:102
如何快速让心跳加速的方法 浏览:117
餐巾纸盒图片制作方法 浏览:499
野钓小罗非闹窝解决方法 浏览:285
木扶手与立柱连接方法 浏览:533