压缩bcd码转成字符串
/*
* 压缩bcd码转成字符串
*/
/**************************************************************/
/*如果要对左靠齐的压缩bcd码转换为字符串,则调用left_bcd_to_asc函数*/
char str[100];
int str_len = strlen(str1);
int bcd_len = (str_len+1)/2;
char *bcd = (char *)malloc(bcd_len);
memset(bcd,0,bcd_len);
memset(str,0,100);
left_bcd_to_asc(str,bcd,bcd_len);//得到的str的字符串即为需要字符串
/**************************************************************/
/**************************************************************/
/*如果要对左靠齐的压缩bcd码转换为字符串,则调用right_bcd_to_asc函数*/
char str[100];
int str_len = strlen(str1);
int bcd_len = (str_len+1)/2;
char *bcd = (char *)malloc(bcd_len);
memset(bcd,0,bcd_len);
memset(str,0,100);
right_bcd_to_asc(str,bcd,bcd_len);//得到的str的字符串即为需要字符串
/**************************************************************/
int bcd_to_asc(char *dest,const char *src,int src_len)
{
unsigned char temp;
char *t = dest;
while(src_len--)
{
*t |= ((*src&0xf0)>>4);
*t++ |= 0x30;
*t |= (*src&0xf);
*t++ |= 0x30;
src++;
}
return 0;
}
int left_bcd_to_asc(char *dest,const char * src,int bcd_len)
//参数dest为需要进行转换的压缩bcd码的字符串,参数src为申请的存放得到的转换的字符串,参数bcd_len为dest的长度即(strlen(src)+1)/2;
{
bcd_to_asc(dest,src,src_len);
dest[src_len*2 -1] = '\0';
return 0;
}
int right_bcd_to_asc(char *dest,const char * src,int bcd_len)
//参数dest为需要进行转换的压缩bcd码的字符串,参数src为申请的存放得到的转换的字符串,参数bcd_len为dest的长度即(strlen(src)+1)/2;
{
bcd_to_asc(dest,src,src_len);
memmove(dest,dest+1,src_len*2-1);
dest[src_len*2-1] = '\0';
return 0;
}
/***以上总结整理和说明参考了http://blog.csdn.net/nocodelife/article/details/8233082****/
压缩bcd码转成字符串相关推荐
- 压缩BCD码拆成两个ACSII码存入指定单元【汇编语言】
将片内RAM的20H单元中的压缩BCD码拆成两个ACSII码存入21H.22H单元.低4位存在21H单元,高4位存在22H单元. 思路: 压缩BCD码和非压缩BCD码的区别 一个BCD码占4位,而一个 ...
- 字符串转成压缩bcd码
/* * 字符串转成压缩bcd码 */ /**************************************************************/ /*如果要对字符串转换为左靠齐 ...
- C语言实现ASCII字符、压缩BCD码值与BIN码(16进制)互转 - (已编译,亲试可用)
目录 1.将压缩BCD码转为BIN码 2.将压缩BCD码数组转为BIN码数组 3.将BIN码转为压缩BCD码 4.将BIN码数组转为压缩BCD码数组 5.将ASCII码转为BIN码 6.将ASCII码 ...
- c语言 ascii 和 压缩bcd 码之间的相互转换
转载请标注出处:(版权所有) 本文将从五点详细介绍bcd码和ascii 之间的关系,如下所示: 一.简介 二.用途 三.特点 四.代码原理 五.代码 1.ascii 转压缩bcd码 2. 压缩bc ...
- [计组]压缩BCD码指二进制编码的十进制
压缩BCD码指二进制编码的十进制 压缩BCD码指一个字节8位存储2位BCD码.比如32用8421BCD码表示如下:非压缩BCD码表示:00000011 00000010:压缩BCD码表示:0011 0 ...
- C51单片机的压缩BCD码相加程序
设被加数 NA 及加数 NB 均为三字节压缩BCD码,分别存放于内部 RAM 的 20H~22H 及 30H~32H 单元中,低位在前,高位在后. 要求计算两数之和,并将和存放到内部 RAM 中 3F ...
- 汇编--子程序设计(1)--非压缩bcd码和十进制的转换
输入四位十六进制数,显示对应的十进制数(还有位对应的值,以T作为结束符). ;PROGRAM GOES HERE;13:34 2023/4/15-------17:38 2023/4/16----17 ...
- BCD码和压缩BCD码
BCD码 BCD码,全称二进制编码的十进制.用4位二进制数来表示1位十进制数中的0-9这10个数码. BCD码可分为有权码和无权码两类: 有权BCD码有8421码.2421码.5421码, ...
- 汇编_压缩BCD码和非压缩BCD码
BCD码是表示十进制数的,非压缩BCD码是用8位表示的,其实只用低4位,高4位全为0. 例如,十进制数36,用非压缩BCD码表示为:0000 0011 0000 0110 ,这是两个字节. 压缩BCD ...
最新文章
- 360°透视:云原生架构及设计原则
- html css 磁贴,使用JS配合CSS实现Windows Phone中的磁贴效果
- C++(STL):14--- forward_list比list更高效的容器
- python与冒泡排序
- 21天Jmeter打卡Day10线程用户之setUp和tearDown
- 程序人生:做技术,切不可沉湎于技术
- 使用nsenter进入Docker容器
- Windows11下安装MongoDB
- 安卓软件汉化教程附带汉化工具Android Res Edit V1.5
- 怎样看开源代码版权_版权声明在开源代码中泛滥成灾
- Anaconda 更换浏览器要求输入token
- CentOS源码安装PostgreSQL
- 修改ARM开发板IP地址
- 一个癌症病人的美国求医经历:活人死人如果都得不到尊重,病人也很难被尊重
- PGSQL学习——触发器
- STM32 USB HID Mouse And Keyboard (guide)
- 蚂蚁开放平台开发者专场(上海站)欢迎参加!
- koreader如何选择kindle的版本
- 如何把aac格式的音频转换成mp3格式的
- java实现倒计时闹钟_倒计时闹钟软件下载-倒计时闹钟app下载v1.2.4-西西软件下载...
热门文章
- ASPCMS幻灯片调用和制作
- element-table表格内换行
- 李宏毅机器学习介绍-2022.07.11
- obs多推流地址_一文搞懂:抖音obs直播怎么操作,抖音直播推流地址如何获取!...
- linux ctime 格式化,atime,mtime,ctime说明
- AI大模型相当于“超级大脑”,正成为人工智能“新高地”
- WINS服务器的作用
- Docker系列之五:Volume 卷的使用——以Redis为例
- 蓝桥杯 15决赛 A2 四阶幻方(剪枝)
- android 朋友圈功能,Android仿微信朋友圈全文收起功能示例(附源码)