C语言将16进制的数转换为字符串的方法(改进)

您所在的位置:网站首页 c语言shuffle C语言将16进制的数转换为字符串的方法(改进)

C语言将16进制的数转换为字符串的方法(改进)

2023-08-18 10:54| 来源: 网络整理| 查看: 265

  昨天写了一个方法,可以将嵌入式C常用的uint8_t数据转为一个字符,但是程序有警告,尴尬症发作甚是不爽,于是在今天解决了这个问题。昨天的博文   C语言中的char是一字节,也就是8个二进制位,正好可以表示成2个16进制的数。但是第一位是符号位,而单片机用的C语言中常常不牵扯负数,所以更常见的就是使用无符号的char(unsigned char),再定义为uint8_t(typedef unsigned char uint8_t;),这样子就可以用8个二进制位表示成2个16进制的数,如1111 1110就是0xFE,如果需要的不是16进制数,而是一个字符,那么可以用以下方法来实现16进制转为字符。

#include #include typedef unsigned char uint8_t; char hexToch (uint8_t old); uint8_t HexToChar(uint8_t temp); int main(){ int i = 0; uint8_t data[5]={0x12,0x34,0x56,0xab,0xef}; uint8_t str[10]; uint8_t dst[10]; for(i = 0; i>4; str[2*i+1] = data[i]&0xf; } for(i = 0; i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3