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
void U8ArrayToU32(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)陣列,
大端為:

小端為:

如果你想提升你的編程能力,以便更好從事編程類作業的話!那么你很幸運~分享(原始碼、專案實戰視頻、專案筆記,基礎入門教程)歡迎轉行和學習編程的伙伴,利用更多的資料學習成長比自己琢磨更快哦!
點擊我進入學習基地
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/185766.html
標籤:其他
上一篇:Python變數的快取機制
下一篇:位元組日常實習一面面經
