欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
新人學51單片機C語言求解釋tmp = *src >> 4 if (tmp <= 9)
[打印本頁]
作者:
zr7109529
時間:
2019-8-2 15:05
標題:
新人學51單片機C語言求解釋tmp = *src >> 4 if (tmp <= 9)
為什么tmp = *src >> 4 if (tmp <= 9) 能取高四位,取出來tmp的值是什么
void MemToStr(unsigned char *str, unsigned char *src, unsigned char len)
{
unsigned char tmp;
while (len--)
{
tmp = *src >> 4; //先取高 4 位
if (tmp <= 9) //轉換為 0-9 或 A-F
*str++ = tmp + '0';
else
*str++ = tmp - 10 + 'A';
tmp = *src & 0x0F; //再取低 4 位
if (tmp <= 9) //轉換為 0-9 或 A-F
*str++ = tmp + '0';
else
*str++ = tmp - 10 + 'A';
*str++ = ' '; //轉換完一個字節添加一個空格
src++;
}
*str = '\0'; //添加字符串結束符
}
作者:
csmyldl
時間:
2019-8-2 19:09
右移4位就是把高4位移到了低4位,如11110000右移后的結果是00001111,所取出來的碼稱為壓縮BCD碼,即高4位和低4位的值分別單獨看待,一般均在0000觀察家1001之間,對應十進制數0到9,后面加上‘0‘就是轉換成對應的ASCII碼用于顯示
作者:
曹志成
時間:
2019-8-2 19:10
右移四位 舉個例子 1101 0010 右移四位不就是 0000 1101 高位不就到低位來了 (我也是新人 哈 還是多百度一下就好了)
作者:
zlzfc
時間:
2019-8-2 19:20
一個字節有8位二進制數組成,*src >> 4是左移動4位,剩下的高4位到了低4位的位置,所以能取高4位
舉個例子 *src= 0x3f; *src >> 4是左移動4位后 ,*src= 0x3,后面的f在左移過程中消失.所以temp=3
后面的 tmp + '0'; 是將數字變成字符因為字符’0‘的 ASCII是0x30 數字0的ASCII=0
明白了嗎
作者:
沒有你
時間:
2019-8-2 21:43
它這個函數主要是把輸入的數據轉化為0-f字符,假設輸入的數據*SCR=0XBC,
作者:
沒有你
時間:
2019-8-2 21:50
它這個函數主要功能是將數據轉換為0-f的字符。假設*scr=0x3c,那temp=*scr>>4,那么tmp=0x03,加上‘0’,則為字符‘3’;tmp=*scr&0x0f,那么tmp=0x0c,加上‘a’,則為字符‘c’。就把0x3f轉化為‘3’和‘f’2個字。轉化為字符后,方便傳到LCD驅動的函數顯示出來
作者:
zr7109529
時間:
2019-8-3 16:22
zlzfc 發表于 2019-8-2 19:20
一個字節有8位二進制數組成,*src >> 4是左移動4位,剩下的高4位到了低4位的位置,所以能取高4位
舉個例子 ...
明白了謝謝
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1