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)
上一篇 2025年9月6日 下午12:01
下一篇 2025年9月6日 下午12:22


相关推荐

  • C语言中移位操作

    C语言中移位操作先要了解一下 C 语言里所有的位运算都是指二进制数的位运算 即使输入的是十进制的数 在内存中也是存储为二进制形式 lt lt 用法 格式是 a lt m a 和 m 必须是整型表达式 要求 m 0 功能 将整型数 a 按二进制位向左移动 m 位 高位移出后 低位补 0 gt gt 用法 格式是 a gt gt m a 和 m 必须是整型表达式 要求 m gt 0 功能 m a 和 m 必须是整型表达式 要求 m

    2026年3月17日
    2
  • 订单支付[通俗易懂]

    订单支付[通俗易懂]前言文章中的图片和在摘录不是来自一篇文章,所以细节不是完全对应。可借鉴的是开发的思路:从整体的功能模块的使用; 到核心流程; 到系统实现的架构; 再到代码流程(可以采用序列图)。前两点是业务需求,后两点是功能实现。支付系统的作用https://www.cnblogs.com/veblen/p/10992167.html核心流程http://www….

    2022年5月3日
    49
  • c++入门教程–-11递归

    c++入门教程–-11递归

    2026年3月13日
    1
  • python中多个if语句用法_if语句的用法

    python中多个if语句用法_if语句的用法python中if语句用法以下实例通过使用if…elif…else语句判断数字是正数、负数或零:推荐:《python教程》实例(Python3.0+)#Filename:test.py#authorby:www.php.cn#用户输入数字num=float(input(“输入一个数字:”))ifnum>0:print(“正数”)elifnum==…

    2026年4月14日
    12
  • asf挂卡配置文件_win10系统开挂蓝屏

    asf挂卡配置文件_win10系统开挂蓝屏前文最近发现之前在淘宝入手的慈善包游戏很多游戏时长还是零,当代青年怎么能容忍这种情况!浪费可耻,两毛一张的卡片不香吗,所以就打算挂卡了。简单教程适合新手入门正文01、老规矩咱还是到最大的同性交友网站下载资源,咱直接下载个最新版4.2.0.11-1、github下载(选择win10版本)https://github.com/JustArchiNET/ArchiSteamFarm/releases1-2、百度网盘下载也可以对于在github下载慢的同学给个网盘链接https://link.z

    2025年6月30日
    2
  • 数据库ER图基础概念知识

    数据库ER图基础概念知识ER图分为实体、属性、关系三个核心部分。实体是长方形体现,而属性则是椭圆形,关系为菱形。ER图的实体(entity)即数据模型中的数据对象,例如人、学生、音乐都可以作为一个数据对象,用长方体来表示,每个实体都有自己的实体成员(entitymember)或者说实体对象(entityinstance…

    2022年6月21日
    35

发表回复

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

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