**實現:
void strtohex(char *pbdest, char *pbsrc, int nlen)
}
**實現:
void hextostr(char *pszdest, char *pbsrc, int nlen)
pszdest[nlen * 2] = '\0';
}
或者
u16 hex2stringarray (u8 *psrc, u16 srclen, u8 *pobj)
if (*str == '-') //第乙個字元若是『-』,說明可能是負數
else if (*str == '+') //第乙個字元若是『+』,說明可能是正數
//第乙個字元若不是『+』『-』也不是數字字元,直接返回0
else if (*str >= '9' || *str <= '0')
//當遇到非數字字元或遇到『\0』時,結束轉化
while (*str != '\0' && *str <= '9' && *str >= '0')
if (flag == 0) //負數的情況
return value;
}
效果:字串:」-123」 轉為 -123
第二種,如果不帶負號
void strtodec(uint32_t *pbdest, char *pbsrc, int nlen)
}
效果:字串:」123」 轉為 123
第三種:包含轉為浮點數
//m^n函式
//返回值:m^n次方.
u32 nmea_pow(u8 m,u8 n)
//str轉換為數字,以','或者'*'結束
//buf:數字儲存區
//dx:小數點位數,返回給呼叫函式
//返回值:轉換後的數值
int nmea_str2num(u8 *buf,u8*dx)
//是負數
if(*p==','||(*p=='*'))break;//遇到結束了
if(*p=='.')//遇到小數點了
else if(*p>'9'||(*p<'0')) //有非法字元
if(mask&0x01)flen++;
else ilen++;
p++;
}if(mask&0x02)buf++; //去掉負號
for(i=0;i5)flen=5; //最多取5位小數
*dx=flen; //小數點位數
for(i=0;i效果:字串:」123.456」 先轉為 123456,然後除以1000得到123.456
**實現:
如果只是單個十進位制轉字串,使用sprintf函式就可以了。
如果是十進位制陣列:
u16 dectostr (u8 *psrc, u16 srclen, u8 *pobj)
效果:整型 50 轉字元陣列
u8陣列轉u32
void u8arraytou32(uint8_t *buf, uint32_t *u32value)
效果:字元陣列 轉為整型 50
最後就是大小端問題了。stm32 預設是小端模式的,那麼該如何轉為大端?
1、轉為大端
為大端:
ppack[0] = (u8)((len >> 8) & 0xff);
ppack[1] = (u8)(len & 0xff);
為小端:
ppack[0] = (u8)(len & 0xff);
ppack[1] = (u8)((len >> 8) & 0xff);
效果:len為資料型別為 u16(short),比如 0x11 0x22,轉為u8(usigned char)陣列。
大端為:
ppack[0] (0x11 )
ppack[1] (0x22)
小端為:
ppack[0] (0x22)
ppack[1] (0x11)
-end-
猜你喜歡c語言過時了?扯淡!一文帶你學c語言,詳細知識點思維導圖!
測試你c語言水平的十道題,挑戰一下?
C語言常見資料型別分類
基本資料型別,做的不好僅供參考!資料型別分類大致分為三大板塊 a 基本型別 b 列舉型別 enum 空型別 void c 派生型別 a 基本型別 1 整型型別 1 基本整型 int 用整數的補碼方式存放,編譯系統分配給int型資料2個位元組或4個位元組。簡易來談就是乙個正數的補碼是此數的二進位制,如...
(六)mysql語法 常見資料函式
數學函式 round x select round 1.34 out put 不管是正數還是負數,加上絕對值之後,在填上外邊的正負號就可以了 結果 1 select round 1.34 out put 不管是正數還是負數,加上絕對值之後,在填上外邊的正負號就可以了 結果 1 select roun...
常見資料集
有幾個資料集常常聽到,但時間一長就容易混淆忘記,現記錄如下。持續更新。全稱the pascal visual object classes,也可簡稱voc。主題 目標分類 版本 該競賽現已結束 主題 識別 分割 版本 介紹 首先是每年的競賽 coco競賽從2015年開始,最初的競賽內容是detect...