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


相关推荐

  • vscode新建文件,默认为html[通俗易懂]

    vscode新建文件,默认为html[通俗易懂]虽然还没达到理想目标,不过还是有进步步骤如下图文字版打开vscode–选择文件–首选项–设置到达设置页面文件(14)–找到要复制代码–复制,在加个html效果如下图右下脚由纯文本变为html…

    2022年8月22日
    25
  • python 删除文件、目录_python如何删除文件、目录[通俗易懂]

    python 删除文件、目录_python如何删除文件、目录[通俗易懂]本文讲述了python实现删除文件与目录的方法。分享给大家供大家参考。具体实现方法如下:os.remove(path)删除文件path.如果path是一个目录,抛出OSError错误。如果要删除目录,请使用rmdir().remove()同unlink()的功能是一样的在Windows系统中,删除一个正在使用的文件,将抛出异常。在Unix中,目录表中的记录被删除,但文件的存储还在。#…

    2022年5月27日
    81
  • Vue图片加载错误、图片加载失败的处理

    Vue图片加载错误、图片加载失败的处理比如后台返回的一个图片字段pic,我们通常在代码里,会做一个检验图片,通常会像下面这样写<img:src=”pic?pic:’../../assets/img/load.png'”alt=””>这个判断只能判断pic是否存在,只有pic=”的情况下,才回显示设置的默认图片,但是如果pic这个字段是有值的呢,并且是一个错误的值,或者一个找不到的404的图片呢?这个时候就要…

    2022年6月2日
    149
  • java 对象拷贝方法beanutils_java copy方法

    java 对象拷贝方法beanutils_java copy方法一、简介:BeanUtils提供对Java反射和自省API的包装。其主要目的是利用反射机制对JavaBean的属性进行处理。我们知道,一个JavaBean通常包含了大量的属性,很多情况下,对JavaBean的处理导致大量get/set代码堆积,增加了代码长度和阅读代码的难度。二、用法:如果你有两个具有很多相同属性的JavaBean,一个很常见的情况…

    2022年9月28日
    1
  • idea maven设置本地仓库_maven更新本地仓库

    idea maven设置本地仓库_maven更新本地仓库1.file->settings2.在(1)选择Maven,在(2)加入本地Maven位置,在(3)加入到本地settings.xml下,在(4)下添加本地仓库,默认在c盘,更改本地仓库请移步3.完毕

    2022年10月3日
    1
  • hive数据类型有哪些?[通俗易懂]

    hive数据类型有哪些?[通俗易懂] 关系数据库里有表(table),分区,hive里也有这些东西,这些东西在hive技术里称为hive的数据模型。今天本文介绍hive的数据类型,数据模型以及文件存储格式。这些知识大家可以类比关系数据库的相关知识。  首先我要讲讲hive的数据类型。Hive支持两种数据类型,一类叫原子数据类型,一类叫复杂数据类型。  原子数据类型包括数值型、布尔型和字符串类型,具体如下表所示:基本数据类型类型…

    2022年9月21日
    3

发表回复

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

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