欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 我想問一下51單片機char型的數據轉字符串 [打印本頁]

作者: hackerbc    時間: 2020-2-29 14:25
標題: 我想問一下51單片機char型的數據轉字符串
比如char a=0xf0;然后我要把他轉換為"0xf0",有什么方法沒?

作者: csmyldl    時間: 2020-2-29 16:31
本帖最后由 csmyldl 于 2020-3-1 01:01 編輯

如果只是單個轉換的話,定義一個數組 char num[4];
然后num[0]='0';
num[1]='x';
if ((a>>4)>10))
  num[3]=(a>>4)+0x41;     //此處記錯了 0x41是'A'
else num[3]=(a>>4)+0x30;
if ((a%16)>10))
  num[3]=(a%16)+0x41;
else num[3]=(a%16)+0x30;
作者: hackerbc    時間: 2020-2-29 17:54
csmyldl 發表于 2020-2-29 16:31
如果只是單個轉換的話,定義一個數組 char num[4];
然后num[0]='0';
num[1]='x';

感謝大佬的回復
作者: lyl44    時間: 2020-2-29 18:15
c語言就這點不好,轉換起來很麻煩。我記得有個專門的第三方庫,可以用。
作者: howelee    時間: 2020-2-29 21:40
使用共同體切分,輸入字符,可以輸出整型。
作者: hantu    時間: 2020-3-1 13:19
#define uchar unsigned char

    uchar a=0xf0;
    char str[5]="0x";
    printf("%d %d %d\n",a,a/16,a%16);
    str[2]=(a/16)>9?a/16-10+'a':a/16+'0';
    str[3]=(a%16)>9?a%16-10+'a':a%16+'0';
    str[4]='\0';

要用無符號數,不然結果會出錯的。




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1