‘壹’ 串口出来的压缩BCD码如何转换成十进制数
这个应该比较简单的,,不过以前不是用vc实现的。
如果确定发过来是每个字节都是bcd 。。有时候也不用print那么麻烦
直接用数组完成。
比如接受到20个字节。你直接申请 41字节的数组就好了。
自己写一个转化函数。。每个字节,
buf[0] = dat / 10 + '0';
buf[1] = dat % 10 + '0';
这样自己写一个函数,然后把弄好的字符串 des_buf显示一下就好了
void cov(char *buf, char *des_buf, int num)
{
while (num--) {
*des_buf++ = *buf / 10 +'0';
*des_buf++ = *buf++ % 10 +'0';
}
}
至于你说的每次串口存文件。。看你要存的是字符串文件还是 BCD码文件
不过都一样。。新建立一个文件。放进去就好了。反正两个的数组都在上面了。也不麻烦。
‘贰’ 什么是压缩BCD码
压缩BCD码指二进制编码的十进制
压缩BCD码指一个字节8位存储2位BCD码。比如32用8421BCD码表示如下:非压缩BCD码表示:00000011 00000010;压缩BCD码表示:0011 0010;使用BCD码表示10进位制数字比较好理解,且占用空间较小,在用数字表示的数据方面得到广泛应用。如果听到“原长度10个字节,用压缩BCD码表示为5个字节”也就好理解了。比如“1234567890",即可以说用压缩BCD码表示为5个字节。
(2)压缩bcd码转十进制扩展阅读:
压缩BCD码的应用:BCD计数器也称为十进位计数器或模10计数器,它广泛地运用于各种电子设备中。特别是在测试仪表以及另外那些具有十进制输入与/或输出的设备中.运用得更普遍。数字计数器.万用表以及其它数字仪表,就是一类例子;数字电子表是另外一类例子。这与一个标准四位二进制计数器的前十个状态相同。不过,当计数器计9时,它循环回到0,然后它又重新开始递增计数。
‘叁’ 用汇编语言将压缩的BCD码转化为十进制数
MOV
A,
#49H
;取来压缩的BCD码
MOV
B,
#16
DIV
AB
;转换完成
END
可以参考以前的回答:
http://..com/question/260932826.html
‘肆’ 汇编语言中内存中有一32位压缩BCD码,将其转换成十进制字符串
32 位的压缩 BCD 码,可以分解成 8 位十进制数。
再分别加上 30H,即为十进制字符。
转换完了,怎么办?
显示吗?
删除吗?
...
‘伍’ 十进制数74转换为压缩BCD码是多少
十进制数74转换为压缩BCD码是01110100。
压缩BCD码是指其中各十进制数位都分别由二进制数字来表示的二进制编码记法。需要注意的是每个十进制数都用一组四位二进制数来表示。不足4位者(十进制数0到7)加添0字开头,以凑足4位。十进制数74转换为压缩BCD码是7=0111,4=0100。即十进制数74=压缩BCD码01110100。
(5)压缩bcd码转十进制扩展阅读:
计算机只能识别二进制数,但人们却熟悉十进制数,而不习惯用二进制数,因此,在计算机输入和输出数据时,经常采用十进制数。所不同的,这里的十进制数是用压缩BCD码来表示的。四位二进制数有十六种组合。从十六种组合中,选择十种组合来表示十进制的十个数码,可以有多种方法。
压缩BCD码广泛地运用于各种电子设备中。特别是在测试仪表以及另外那些具有十进制输入与/或输出的设备中.运用得更普遍。十进位数字计数器.万用表以及其它数字仪表,就是一类例子;数字电子表是另外一类例子。这与一个标准四位二进制计数器的前十个状态相同。
‘陆’ 十进制数如何转换为压缩和非压缩bcd码
原是十进制的数的不用转就是BCD码,因BCD码的意就是十进制数码。压缩的就是在一个八位字节中放二位十进制数,这就要动一下了,把原放在二个字节中的二个单位的数,高位的先改放到字节的高四位中,再和低位的原就在低四位的或合到一起就成压缩的了。这样做的目的主要是为了节省存贮单元,可是在运算中要多用时间了。
‘柒’ 压缩BCD码11111111表示的十进制是多少
d8h=11011000b
压缩bcd码与非压缩bcd码的区别——
压缩bcd码的每一位用4位二进制表示,一个字节表示两位十进制数。例如10010110b表示十进制数96d;非压缩bcd码用1个字节表示一位十进制数,高四位总是0000,低4位的0000~1001表示0~9.例如00001000b表示十进制数8.
楼主确定题目没问题?
‘捌’ 急!急!!急!bcd码转换成十进制数
十进制数74转换为压缩bcd码是01110100b。
所谓的压缩bcd码,指的就是用四位二进制数表示一位bcd码,用一个字节表示的两位bcd码,称为压缩型bcd码。
一个bcd码占4位,而一个字节有8位。若把二个bcd码放在一个字节中,就叫压缩的bcd码。而一个字节只放一个bcd码,高位置0,则叫非压缩的bcd码。
‘玖’ bcd码(1001010010)转换成二进制数是多少转换成十进制是多少十六进制是多少
bcd码(10 0101 0010),
转换成十进制数是:252。
转换成二进制数是:11111100。
转换成十六进制是:FC。
‘拾’ 十进制102转换成压缩bcd
每一位都转成4位2进制
1:0001
0:0000
2:0010
合起来就是0001 0000 0010
压缩bcd码的每一位用4位二进制表示,一个字节表示两位十进制数。例如10010110b表示十进制数96d;非压缩bcd码用1个字节表示一位十进制数,高四位总是0000,低4位的0000~1001表示0~9.例如00001000b表示十进制数8。
(10)压缩bcd码转十进制扩展阅读:
十进制小数转换成二进制小数采用"乘2取整,顺序排列"法。具体做法是:用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零,或者达到所要求的精度为止。