单片机中十进制转十六进制

在进行单片机编码过程中用到过的一个转换方法,在此记录一下,方便以后使用,只能是转成十六进制是 两个 字节的数字,即 可转的范围0<n<256
可修改 u8->u16,转换更高范围

u8 temp;
u8 tempHexstr[3];void nToHexstr(u8 n, u8 * hexstr, u8 strlen)
{u8 hexChar[16] = {'0', '1','2','3', '4','5','6', '7','8','9', 'A','B','C', 'D','E','F'}; u8 i;u8 dis;u32 nTemp = (int32_t) n;for(i=1; i<=strlen; i++){dis = nTemp & 0x0f;hexstr[strlen-i] = hexChar[dis]; nTemp = nTemp >>4;}hexstr[strlen]='\0';  //使用strcat()函数,进行字符串拼接。需要结束符
}printf("温度:%c \n",tempHexstr);

以上是在单片机中的代码,转换后为字符串格式

在VC++中代码如下(演示说明)

#include<stdio.h>void nToHexstr(unsigned char n, unsigned char * hexstr, unsigned char strlen)
{unsigned char hexChar[16] = {'0', '1','2','3', '4','5','6', '7','8','9', 'A','B','C', 'D','E','F'}; unsigned char i;unsigned char dis;unsigned long nTemp = (long) n;for(i=1; i<=strlen; i++){dis = nTemp & 0x0f;hexstr[strlen-i] = hexChar[dis]; nTemp = nTemp >>4;}hexstr[strlen]='\0';
}void main()
{unsigned char temp=28;unsigned char tempHexstr[3];nToHexstr(temp, tempHexstr, 2);//n=28   hex:001Cprintf("字符串:%s \n",tempHexstr);}

28 -->1C
图片:

如有侵权,联系删除

C语言(单片机)十进制转成十六进制字符串相关推荐

  1. C语言:十进制转换成十六进制字符串和数组

    1.十进制转换成十六进制字符串 #include<stdio.h> /*函数: 将十进制数字转换为十六进制,并将转换后的数字存储在字符串中并输出 */ void dec2hex(int n ...

  2. C语言实现十进制转换成十六进制的实现(有例程),不用scanf函数,STM32 在Keil5环境

    我看了很多十进制转换十六进制的文章,几乎全部都是利用scanf()函数写的,这和我想实现的功能并不一样,因为scanf是通过键盘进行输入,我只是想将一个数组里的十进制数通过调用一个函数转换为十六进制数 ...

  3. C语言将十进制转换成十六进制

    #include<stdio.h> main() {char arr[50]="";char *p= arr;int i ;scanf("%d", ...

  4. c语言的十进制转十六进制字符串,用c语言写一个函数把十进制转换成十六进制,该如何处理...

    用c语言写一个函数把十进制转换成十六进制 用c语言写一个函数把十进制转换成十六进制 网上找到一些,感觉有占乱 分享到: ------解决方案-------------------- #include ...

  5. c语言中如何将字符串转成16进制,用c语言写一个函数把十进制转换成十六进制,该如何处理...

    用c语言写一个函数把十进制转换成十六进制 用c语言写一个函数把十进制转换成十六进制 网上找到一些,感觉有占乱 分享到: ------解决方案-------------------- #include ...

  6. python把浮点数转换成16进制_delphi 浮点数float转换成十六进制字符串的方法(FloatToHex)...

    重新书写了float型转为十六进制的delphi程序 Function FloatToHex(Value: single): string; var l, i: integer; HexText,te ...

  7. 二进制数组转成十六进制字符串,以及十六进制字符串转二进制字符串

    不说话,直接上代码. 1.二进制数组转十六进制字符串,下面两种方法都可以 /*** 将字节数组转换成十六进制字符串进行输出* @param bArr* @return*/public static f ...

  8. 将十六进制参数转换成点分十进制 -- 将点分十进制参数转换成十六进制

    #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/socket ...

  9. C语言之十进制转化为十六进制

    作者:从未止步- 博客主页:从未止步的博客 专栏:和我一起学C 语录:Every day is a second chance. 行动是理想最高贵的表达,给大家介绍一款超牛的斩获大厂offer利器-- ...

最新文章

  1. USACO07DEC道路建设Building Roads(prim算法+堆优化与Kruskal+路径压缩对比)
  2. 网页中英文语言切换解决方案
  3. 个人博客开发系列:前台博客页面开发部署完成
  4. 因分辨率变化html页面布局跳动_Web前端页面设计流程及注意事项,谨记!
  5. IplImage中的widthStep大小计算及原理
  6. python oserror怎么解决_Python读取csv报错解决方法:OSError: Initializing from file failed
  7. 【机器学习】误差逆传播算法(反向传播算法)
  8. COGS.1689.[HNOI2010]Bounce 弹飞绵羊(分块)
  9. android 进程通信
  10. Windows驱动程序开发 - 初识驱动
  11. R语言caret包preProcess()标准化出现错误: Matrices or data frames are required for preprocessing
  12. 直播第三方美颜怎么选择?美颜SDK哪家好?
  13. cmd中的arp指令
  14. 传说中的BNET边缘传输
  15. M35J型多普勒流量计使用说明书
  16. 《leetCode》:Kth Largest Element in an Array
  17. java实现斗地主(一)
  18. Service 与 Pod 有什么联系?
  19. SPSS多重响应分析案例
  20. C 语言 大小写字母转换程序

热门文章

  1. 在遗忘了风声的边界,听不懂潮水的呜咽.
  2. Oracle Freelist和HWM原理及性能优化
  3. 2019/1/12日更新Win7x86x64纯净安装旗舰版WIM下载(启用内置管理员).....
  4. 数据报分片的偏移量问题
  5. 2020这些数码产品离我们远去
  6. 使用Java定义数组
  7. 杂记——10.git提交时出现“Please tell me who you are”问题
  8. verilog实现hpm接口代码
  9. 光源基础(4)——如何选择光源及各种打光结构
  10. 不会真的有人看不懂 Linux 小白都能看懂的大数据入门(一) 图文