C语言:十进制、十六进制数据互换

C语言:十进制、十六进制数据互换最近写单片机数据转换用到了十进制 十六进制互换 将示例 Demo 分享给各位朋友

最近写单片机数据转换用到了十进制、十六进制互换,将示例Demo分享给各位朋友:

十进制转换为十六进制,代码如下所示:

int DectoHex(int dec, unsigned char *hex, int length) { for(int i=length-1; i>=0; i--) { hex[i] = (dec%256)&0xFF; dec /= 256; } return 0; } 

各位可以将手动规定的length参数,修改为自动计算数据长度的效果。

十六进制转换为十进制,代码如下所示:

unsigned long HextoDec(const unsigned char *hex, int length) { unsigned long rslt = 0; for(int i=0; i<length; i++) { rslt += (unsigned long)(hex[i])<<(8*(length-1-i)); } return rslt; } 

除了使用以上方法,还可以使用:sprintf()函数,声明如下所示:

int sprintf(char *str, const char *format, ...)

只需要修改函数参数,就可以便捷实现各类型进制转换,例如实现十进制、十六进制数据互换,伪代码如下所示:

sprintf(&data, "十进制12的十六进制是%X", 12); sprintf(&data, "十六进制0X12的十进制是%d", 0X12);

拓展学习:

1、C 库函数 – sprintf()

2、进制转换工具:https://tool.lu/hexconvert/

3、C语言:十六进制(HEX)和浮点类型(float、double)转换

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/232845.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 5500xt挖矿性能_amd挖矿算力

    5500xt挖矿性能_amd挖矿算力[md]![ffb89a43db94f4c8.jpg](data/attachment/forum/202008/10/170713rl88j1555551tr86.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/300″ffb89a43db94f4c8.jpg”)测试系统:windows10测试显卡:蓝宝石(Sapphire)RX5600…

    2022年8月31日
    4
  • python进阶(8)多进程「建议收藏」

    python进阶(8)多进程「建议收藏」进程前置知识点进程:一个程序运行起来后,代码+用到的资源称之为进程,它是操作系统分配资源的基本单元。并发:指的是任务数多余cpu核数,通过操作系统的各种任务调度算法,实现用多个任务“一起”执行

    2022年8月6日
    8
  • Oracle去重查询实例

    Oracle去重查询实例Oracle去重查询实例今天工作中遇到了一个关于去重的查询,琢磨了半天,终于想明白了,这里简单记录一下。distinct函数说到去重,可能第一反应就是distinct函数,但其实distinct只是针对单一字段的去重有效。例如我想查库中所有的不重复的空号手机数量,如下即可selectcount(distinctn.phonenumber)fromIVR_NO_EXISTn这样查出来一共有295136个空号之后我想查出每天识别出的不重复的空号有多少,开始没想太多,直接写了sel

    2025年6月10日
    4
  • 【Python 局域网控制】——做一个超简单的局域网指令控制电脑

    【Python 局域网控制】——做一个超简单的局域网指令控制电脑程序分为两部分,一个是客户端也是被操控的端口,另一个是服务端就是用来操作被操控的端口点个赞留个关注吧!!程序很简单,是通过局域网聊天系统改造而成,没有高级的GUI框架,只有简简单单的DOS窗口,这个仅供学习,当然也可以在你的第二台电脑里放入客户端,然后用服务端进行指令操作,也是很不错的。客户端会自动获取你的IPv4地址,并显示出来,需要用客户端给出的IP地址去服务端进行连接。执行指令也很简单,用接收到的数据进行os.system()进行执行。想法多的也可以做一个鼠标定位数据传输,可达到鼠

    2022年6月22日
    33
  • idea激活码永久2021(注册激活)「建议收藏」

    (idea激活码永久2021)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~S32PGH0SQB-eyJsaWNlb…

    2022年3月26日
    249
  • SSL证书与Https应用部署小结

    SSL证书与Https应用部署小结

    2021年8月30日
    59

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号