C语言常用的进制转换工具函数盘点!爷爷再也不用担心我不会进制转换了!

01

字符串转十六进制

代码实现:


 

02

十六进制转字符串

代码实现:


 

或者:


 

效果:十六进制"0x13 0xAA 0x02",转为字符串"13AAA2"。

 

03

字符串转十进制

(1)若带负号,代码实现:

 

效果:字符串"-123"转为"-123"。

 

(2)若不带负号,代码实现:

 

效果:字符串"123"转为"123"。

 

(3)包含转为浮点数,代码实现:


 

效果:字符串"123.456"先转为"123456",然后除以1000得到"123.456"。

 

04

十进制转字符串

如果只是单个十进制转字符串,使用sprintf函数就可以了。

如果是十进制数组:


 

效果:十进制数组"13 14"转为字符串"1314"。

 

05

u8、u32转换

举个例子,ASCII码。


 

这里写图片描述:字符‘A’ , 一个字节8bit ,即u8十六进制为0x41二进制为"0100 0001"。

而对应的十进制为65,4个字节32bit,即u32十六进制为0x41二进制为"0000 0000 0000 0000 0000 0000 0100 0001"。

(1)将u32数转换成u8数组

注意:这里是字符数组,不是字符串;字符串是以空字符()结尾的char数组。


 

效果:整型 50 转字符数组 {‘’,’’,’’,’2’}。

(2)u8数组转u32


 

效果:字符数组 {‘’,’’,’’,’2’}转为整型 50。

 

06

大端小端

STM32默认是小端模式,那么该如何转为大端?

代码实现:


 

效果:len为数据类型为u16(short),比如0x11 0x22,转为u8(usigned char)数组。


 

最后,不管你是转行也好,初学也罢,进阶也可,如果你想学编程~

——【值得关注】我的C/C++编程学习交流俱乐部!——

涉及:C语言、C++、windows编程、网络编程、QT界面开发、Linux编程、游戏编程、黑客等等......

 

原文地址:https://www.cnblogs.com/huya-edu/p/14097180.html