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數組

注意:這里是字符數組,不是字符串;字符串是以空字符(\0)結尾的char數組。


 

效果:整型 50 轉字符數組 {‘\0’,’\0’,’\0’,’2’}。

(2)u8數組轉u32


 

效果:字符數組 {‘\0’,’\0’,’\0’,’2’}轉為整型 50。

 

06

大端小端

STM32默認是小端模式,那么該如何轉為大端?

代碼實現:


 

效果:len為數據類型為u16(short),比如0x11 0x22,轉為u8(usigned char)數組。


 

最后,不管你是轉行也好,初學也罷,進階也可,如果你想學編程~

——【值得關注】我的C/C++編程學習交流俱樂部!——

涉及:C語言、C++、windows編程、網絡編程、QT界面開發、Linux編程、游戲編程、黑客等等......

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM