欢迎来到天天文库
浏览记录
ID:59292091
大小:20.50 KB
页数:7页
时间:2020-09-06
《十进制,十六进制,BCD码相互转换C程序word版本.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*ds
4、t,constunsignedchar*src,intlength) { inti; for(i=0;i5、 intlength 十六进制数据长度 // //输出: // //返回:int rslt 转换后的十进制数据 // //思路:十六进制每个字符位所表示的十进制数的范围是0~255,进制为256 // 左移8位(<<8)等价乘以256 // ///////////////////////////////////////////////////////// unsignedlongHextoDec(constunsignedchar*hex,intl6、ength) { inti; unsignedlongrslt=0; for(i=0;i7、输入:intbase 进制基数 // inttimes 权级数 // //输出: // //返回:unsignedlong 当前数据位的权 // ////////////////////////////////////////////////////////// unsignedlongpower(intbase,inttimes) { inti; unsignedlongrslt=1; for(i=0;i8、 rslt*=base; returnrslt; }/////////////////////////////////
5、 intlength 十六进制数据长度 // //输出: // //返回:int rslt 转换后的十进制数据 // //思路:十六进制每个字符位所表示的十进制数的范围是0~255,进制为256 // 左移8位(<<8)等价乘以256 // ///////////////////////////////////////////////////////// unsignedlongHextoDec(constunsignedchar*hex,intl
6、ength) { inti; unsignedlongrslt=0; for(i=0;i7、输入:intbase 进制基数 // inttimes 权级数 // //输出: // //返回:unsignedlong 当前数据位的权 // ////////////////////////////////////////////////////////// unsignedlongpower(intbase,inttimes) { inti; unsignedlongrslt=1; for(i=0;i8、 rslt*=base; returnrslt; }/////////////////////////////////
7、输入:intbase 进制基数 // inttimes 权级数 // //输出: // //返回:unsignedlong 当前数据位的权 // ////////////////////////////////////////////////////////// unsignedlongpower(intbase,inttimes) { inti; unsignedlongrslt=1; for(i=0;i8、 rslt*=base; returnrslt; }/////////////////////////////////
8、 rslt*=base; returnrslt; }/////////////////////////////////
此文档下载收益归作者所有