欢迎来到天天文库
浏览记录
ID:5321007
大小:135.20 KB
页数:5页
时间:2017-12-08
《十六进制bcd码与十进制之间的转换c语言程序设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、#include#include/////////////////////////////////////////////////////////功能:二进制取反////输入:constunsignedchar*src二进制数据//intlength待转换的二进制数据长度////输出:unsignedchar*dst取反后的二进制数据////返回:0success////////////////////////////////////////////////////////intconvert(unsignedchar*
2、dst,constunsignedchar*src,intlength){inti;for(i=0;i3、0~255,进制为256//左移8位(<<8)等价乘以256///////////////////////////////////////////////////////////unsignedlongHextoDec(constunsignedchar*hex,intlength){inti;unsignedlongrslt=0;for(i=0;i4、////////////////////////////功能:十进制转十六进制////输入:intdec待转换的十进制数据//intlength转换后的十六进制数据长度////输出:unsignedchar*hex转换后的十六进制数据////返回:0success////思路:原理同十六进制转十进制//////////////////////////////////////////////////////////intDectoHex(intdec,unsignedchar*hex,intlength){inti;for(i=length-1;i>=0;i-5、-){hex[i]=(dec%256)&0xFF;dec/=256;}return0;}/////////////////////////////////////////////////////////////功能:求权////输入:intbase进制基数//inttimes权级数////输出:////返回:unsignedlong当前数据位的权////////////////////////////////////////////////////////////unsignedlongpower(intbase,inttimes){inti;unsigne6、dlongrslt=1;for(i=0;i7、/////////////////////////////////////////////////////unsignedlongBCDtoDec(constunsignedchar*bcd,intlength){inti,tmp;unsignedlongdec=0;for(i=0;i>4)&0x0F)*10+(bcd[i]&0x0F);dec+=tmp*power(100,length-1-i);}returndec;}///////////////////////////////////////////8、//////////////////功能:十进制转B
3、0~255,进制为256//左移8位(<<8)等价乘以256///////////////////////////////////////////////////////////unsignedlongHextoDec(constunsignedchar*hex,intlength){inti;unsignedlongrslt=0;for(i=0;i4、////////////////////////////功能:十进制转十六进制////输入:intdec待转换的十进制数据//intlength转换后的十六进制数据长度////输出:unsignedchar*hex转换后的十六进制数据////返回:0success////思路:原理同十六进制转十进制//////////////////////////////////////////////////////////intDectoHex(intdec,unsignedchar*hex,intlength){inti;for(i=length-1;i>=0;i-5、-){hex[i]=(dec%256)&0xFF;dec/=256;}return0;}/////////////////////////////////////////////////////////////功能:求权////输入:intbase进制基数//inttimes权级数////输出:////返回:unsignedlong当前数据位的权////////////////////////////////////////////////////////////unsignedlongpower(intbase,inttimes){inti;unsigne6、dlongrslt=1;for(i=0;i7、/////////////////////////////////////////////////////unsignedlongBCDtoDec(constunsignedchar*bcd,intlength){inti,tmp;unsignedlongdec=0;for(i=0;i>4)&0x0F)*10+(bcd[i]&0x0F);dec+=tmp*power(100,length-1-i);}returndec;}///////////////////////////////////////////8、//////////////////功能:十进制转B
4、////////////////////////////功能:十进制转十六进制////输入:intdec待转换的十进制数据//intlength转换后的十六进制数据长度////输出:unsignedchar*hex转换后的十六进制数据////返回:0success////思路:原理同十六进制转十进制//////////////////////////////////////////////////////////intDectoHex(intdec,unsignedchar*hex,intlength){inti;for(i=length-1;i>=0;i-
5、-){hex[i]=(dec%256)&0xFF;dec/=256;}return0;}/////////////////////////////////////////////////////////////功能:求权////输入:intbase进制基数//inttimes权级数////输出:////返回:unsignedlong当前数据位的权////////////////////////////////////////////////////////////unsignedlongpower(intbase,inttimes){inti;unsigne
6、dlongrslt=1;for(i=0;i7、/////////////////////////////////////////////////////unsignedlongBCDtoDec(constunsignedchar*bcd,intlength){inti,tmp;unsignedlongdec=0;for(i=0;i>4)&0x0F)*10+(bcd[i]&0x0F);dec+=tmp*power(100,length-1-i);}returndec;}///////////////////////////////////////////8、//////////////////功能:十进制转B
7、/////////////////////////////////////////////////////unsignedlongBCDtoDec(constunsignedchar*bcd,intlength){inti,tmp;unsignedlongdec=0;for(i=0;i>4)&0x0F)*10+(bcd[i]&0x0F);dec+=tmp*power(100,length-1-i);}returndec;}///////////////////////////////////////////
8、//////////////////功能:十进制转B
此文档下载收益归作者所有