- 15
- 0
- 约3.55千字
- 约 5页
- 2016-12-29 发布于重庆
- 举报
BCD码、十六进制与十进制互转
在做嵌入式软件的设计中,经常会遇到十六进制、BCD码与十进制之间的转换,最近做M1卡的应用中,涉及了大量的十六进制、BCD码与十进制之间的转换。笔者通过对BCD码、十六进制 权的理解,轻松的实现了他们之间的互换。
#include stdio.h #include string.h
///////////////////////////////////////////////////// // //功能:二进制取反 // //输入:const unsigned char *src 二进制数据 // int length 待转换的二进制数据长度 // //输出:unsigned char *dst 取反后的二进制数据 // //返回:0 success // ////////////////////////////////////////////////////// int convert(unsigned char *dst, const unsigned char *src, int length) { int i;
for(i=0; ilength; i++) { dst[i] = src[i]^0xFF; } return 0; }
////////////////////////////////////////////////////////// // //功能:十六进制转为十进制 // //输入:const unsigned char *hex 待转换的十六进制数据 // int length 十六进制数据长度 // //输出: // //返回:int rslt 转换后的十进制数据 // //思路:十六进制每个字符位所表示的十进制数的范围是0 ~255,进制为256 // 左移8位(8)等价乘以256 // ///////////////////////////////////////////////////////// unsigned long HextoDec(const unsigned char *hex, int length) { int i; unsigned long rslt = 0;
for(i=0; ilength; i++) { rslt += (unsigned long)(hex[i])(8*(length-1-i)); }
return rslt; }
///////////////////////////////////////////////////////// // //功能:十进制转十六进制 // //输入:int dec 待转换的十进制数据 // int length 转换后的十六进制数据长度 // //输出:unsigned char *hex 转换后的十六进制数据 // //返回:0 success // //思路:原理同十六进制转十进制 ////////////////////////////////////////////////////////// int DectoHex(int dec, unsigned char *hex, int length) { int i;
for(i=length-1; i=0; i--) { hex[i] = (dec%256)0xFF; dec /= 256; }
return 0; }
///////////////////////////////////////////////////////// // //功能:求权 // //输入:int base 进制基数 // int times 权级数 // //输出: // //返回:unsigned long 当前数据位的权 // ////////////////////////////////////////////////////////// unsigned long power(int base, int times) { int i; unsigned long rslt = 1;
for(i=0; itimes; i++) rslt *= base;
return rslt; }
///////////////////////////////////////////////////////// // //功能:BCD转10进制 // //输入:const unsigned char *bcd 待转换的BCD码 // int length BC
您可能关注的文档
- A甲1026论文.doc
- A类(四字词语).doc
- A类计量器具台帐.doc
- A级防火保温装饰一体板.doc
- A股借壳上市探究.docx
- A题劳动效率预测问题.doc
- B-5施工规格书.doc
- B-N四六级词汇.doc
- B-T型导检验规程.doc
- B-spline曲面的法线贴图.doc
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
原创力文档

文档评论(0)