C语言 十进制转十六进制

问题补充说明:想问一下这个程序中的自定义函数是怎么一个运行的过程 , 比如这里面令x=27.10转16不是要把余数倒着排列么?这里是怎么实现的?谢谢~

C语言 十进制转十六进制

文章插图
【C语言 十进制转十六进制】去百度文库 , 查看完整内容>内容来自用户:中国林709
十进制转十六进制c语言函数今天有位朋友在群里来自面问如何接收串口调试助手发来的十六进制数据 , 并以十六进制的形式显示在LCD上 。比如串口调试助手上发送十六进制数据3C , 单片机带的LCD上也显示3C 。单片机接收到来360问答自电脑串口的数据0x3C后班底验统写乙星月陈红东 , 存储到一个变量中 , 当我们调用显示数字的函数时 , 实际上显示出盾械来的是十进制的数据 , 例如发送0x3C , 会显示十进制数据60 。看来要想显示十六进制 , 还不是那么容易 。回十六进制中 , 包含0~9心几振旧石胞责统济那倒数字 , 还包含A~F字母 , 看来要想显示 , 必须要用显示字符的函数而不能用显示数字的函数前季逐了 。但是不能直接调用显停政方示字符的函数 。因为要想显示3C , 实际上是要显示2个字符 , 你如果直接把数据带进去 , 实际上他会认为是一个字符的ASCII码 。于是我们要把发过来的数据变换成两个字符 , 用轻量艺下面的公式:shi=rece_data/16;//获取第一位ge =rece_data%16;//获取第二位然后把数字转换成字符:
switch(shi)
{
case0:shi='0';break;
case1:shi='1';break;
case2:shi='2';break;
case3:shi='3';bre检问ak;
case4:shi='4';break;
case5:shi='5';break;
case6:shi='6';break;
case7:shi='7';break;
case8:shi='8';break;
case斗歌角让本雨零门均星9:shi='9';break;
case10:shi='A';break;
case11:shi='B';break;
case12:shi='C';break;
case13:shi='D';break;
case14:shi='E';break;
}case10:shi='A';break;

    推荐阅读