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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • JavaScript 保留两位小数的三种实现方法[通俗易懂]

    JavaScript 保留两位小数的三种实现方法[通俗易懂]1、利用toFixed()方法varnum=3.1415926;num=num.toFixed(2);console.log(num);//输出结果:3.142、利用Math.floor()方法varnum=3.1415926;num=Math.floor(num*100)/100;console.log(num);//输出结果:3.143、利用正则表达式方法varnum=3.1415926;num=Number(n.

    2022年8月10日
    6
  • ResourceBundle用法[通俗易懂]

    ResourceBundle用法[通俗易懂]ResourceBundle用于解释资源文件。 1.新建一个.properties文件这里为:AccessMessages.properties例error=错误warn=警告放入工程下的en_US,目录结构如图  2.建立绑定关系[ResourceBundle("AccessMessages")]privatestaticvarrb:Resource…

    2022年7月12日
    30
  • CAS 认证原理[通俗易懂]

    CAS 认证原理[通俗易懂]一CAS原理简介CAS官方网站上的介绍图:主要原理:用户第一次访问一个CAS服务的客户web应用时(访问URL:http://192.168.7.90:8081/web1),部署在客户web应用的casAuthenticationFilter,会截获此请求,生成s…

    2022年6月24日
    68
  • AttributeCollection类与Attributes.Add方法的使用[转载][通俗易懂]

    AttributeCollection类与Attributes.Add方法的使用[转载][通俗易懂]控件属性集合:AttributeCollection类AttitudeCollection隶属于namespaceSystem.Web.UI命名空间。AttributeCollection类属于集合类,具有其他集合所共有的一些属性。AttributeCollection类用来封装服务器控件的所有属性,可实现对服务器属性集合的添加和删除。控件的属性包括颜色、样式、名称等,这些属性都可以通过

    2022年9月26日
    3
  • 8个免费查找文献的学术网站

    今天为大家推荐8个免费查找文献的学术网站,希望能帮到大家。文章来源公众号智慧科研。 1.LibraryGenesis LibraryGenesis号称是帮助全人类知识无版权传播的计划。网站上论文很多,下载方便,几乎每天都在更新。网址:http://gen.lib.rus.ec 2.BookSC BookSC网站截止到今天,已有256万+书籍以…

    2022年4月5日
    124
  • 在win10自带的mail中如何设置学校邮箱

    在win10自带的mail中如何设置学校邮箱最近突然有项目缘故需要用到学校(所内)邮箱,然而该邮箱不常用,费了好长时间找回密码,好不容易找到密码就想为了信息接受的及时添加到win10的mail里吧,结果发现怎么添加都添加不上,最后得以解决,虽然是个很小的事,但是记录一下过程吧。首先要在添加账户选择高级设置,然后选择Internet电子邮件设置。之后进入里面配置,配置的信息在你想要绑定的邮箱首页的帮助里都可以找到,比如中国科学院的邮件…

    2022年7月25日
    25

发表回复

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

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