欢迎来到天天文库
浏览记录
ID:50682373
大小:31.00 KB
页数:6页
时间:2020-03-07
《十进制,十六进制,BCD码相互转换C程序.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、本人用过的十六进制、BCD码之间的转换C程序,还有十进制的,可以参考使用,#include#include/////////////////////////////////////////////////////////////功能:十进制转十六进制////输入:intdec 待转换的十进制数据// intlength 转换后的十六进制数据长度////输出:unsignedchar*hex 转换后的
2、十六进制数据////返回:0 success////思路:原理同十六进制转十进制//////////////////////////////////////////////////////////intDectoHex(intdec,unsignedchar*hex,intlength){ inti; for(i=length-1;i>=0;i--) { hex[i]=(dec%256)&0xFF; dec/=256; } return0;}////////////////////
3、/////////////////////////////////////功能:二进制取反////输入:constunsignedchar*src 二进制数据// intlength 待转换的二进制数据长度////输出:unsignedchar*dst 取反后的二进制数据////返回:0 success////////////////////////////////////////////////////////intconvert(unsignedchar*dst,const
4、unsignedchar*src,intlength){ inti; for(i=0;i5、gth 十六进制数据长度////输出:////返回:int rslt 转换后的十进制数据////思路:十六进制每个字符位所表示的十进制数的范围是0~255,进制为256// 左移8位(<<8)等价乘以256///////////////////////////////////////////////////////////unsignedlongHextoDec(constunsignedchar*hex,intlength){ i6、nti; unsignedlongrslt=0; for(i=0;i7、 进制基数// inttimes 权级数////输出:////返回:unsignedlong 当前数据位的权////////////////////////////////////////////////////////////unsignedlongpower(intbase,inttimes){ inti; unsignedlongrslt=1; for(i=0;i8、e; returnrslt;}/////////////////////////////////////////////////////////////功能:BCD转10进制////输入:constunsignedchar*bcd 待转换的BCD码//
5、gth 十六进制数据长度////输出:////返回:int rslt 转换后的十进制数据////思路:十六进制每个字符位所表示的十进制数的范围是0~255,进制为256// 左移8位(<<8)等价乘以256///////////////////////////////////////////////////////////unsignedlongHextoDec(constunsignedchar*hex,intlength){ i
6、nti; unsignedlongrslt=0; for(i=0;i7、 进制基数// inttimes 权级数////输出:////返回:unsignedlong 当前数据位的权////////////////////////////////////////////////////////////unsignedlongpower(intbase,inttimes){ inti; unsignedlongrslt=1; for(i=0;i8、e; returnrslt;}/////////////////////////////////////////////////////////////功能:BCD转10进制////输入:constunsignedchar*bcd 待转换的BCD码//
7、 进制基数// inttimes 权级数////输出:////返回:unsignedlong 当前数据位的权////////////////////////////////////////////////////////////unsignedlongpower(intbase,inttimes){ inti; unsignedlongrslt=1; for(i=0;i8、e; returnrslt;}/////////////////////////////////////////////////////////////功能:BCD转10进制////输入:constunsignedchar*bcd 待转换的BCD码//
8、e; returnrslt;}/////////////////////////////////////////////////////////////功能:BCD转10进制////输入:constunsignedchar*bcd 待转换的BCD码//
此文档下载收益归作者所有