您好,登錄后才能下訂單哦!
這篇文章運用簡單易懂的例子給大家介紹C語言中有哪些函數轉換工具,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
1、字符串轉十六進制
代碼實現:
2、十六進制轉字符串
代碼實現:
或者
效果:十六進制:0x13 0xAA 0x02轉為字符串:”13AAA2”
3、字符串轉十進制
代碼實現:
第一種,如果帶負號 這個就是atoi函數的實現:
效果:字符串:”-123” 轉為 -123
第二種,如果不帶負號:
效果:字符串:”123” 轉為 123
第三種:包含轉為浮點數:
效果:字符串:”123.456” 先轉為 123456,然后除以1000得到123.456
4、十進制轉字符串
代碼實現:
如果只是單個十進制轉字符串,使用sprintf函數就可以了。
如果是十進制數組:
效果:十進制數組13 14轉為字符串“1314”
5、u8、u32轉換
舉個栗子:ASCII碼里
這里寫圖片描述 字符‘A' , 一個字節8bit ,即u8 十六進制為 0x41 二進制為 0100 0001
而對應的十進制為 65 整型65,4個字節32bit,即u32 十六進制為 0x41 二進制為 0000 0000 0000 0000 0000 0000 0100 0001
將u32數轉換成u8數組
注意:這里是字符數組,不是字符串
字符串是以空字符(\0)結尾的char數組
效果:整型 50 轉字符數組 {‘\0','\0','\0','2'}
u8數組轉u32
voidU8ArrayToU32(uint8_t*buf,uint32_t*u32Value) { *u32Value=(buf[0]<<24)+(buf[1]<<16)+(buf[2]<<8)+(buf[3]<<0); }
效果:字符數組 {‘\0','\0','\0','2'}轉為整型 50
6、大端小端
最后就是大小端問題了。STM32 默認是小端模式的,那么該如何轉為大端?
1、轉為大端
效果:len為數據類型為 u16(short),比如 0x11 0x22,轉為u8(usigned char)數組。
大端為:
小端為:
關于C語言中有哪些函數轉換工具就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。