久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 51單片機中如何將一個數據的高4位和低四位求出來 [打印本頁]

作者: pangju    時間: 2017-12-31 14:25
標題: 51單片機中如何將一個數據的高4位和低四位求出來
51單片機中如何將一個數據的高4位和低四位求出來
作者: wulin    時間: 2017-12-31 16:17


作者: performfh    時間: 2017-12-31 17:13
unsigned char g_date = 0xfb;
unsigned char g_ldate = 0;
unsigned char g_hdate = 0;
g_ldate = g_date & 0x0f;
g_hdate = (g_date & 0xf0) >> 4;
作者: abc779065    時間: 2017-12-31 18:58
可以通過分別或運算
作者: HC6800-ES-V2.0    時間: 2017-12-31 19:36
如果你懂得二進制、十六進制數的組成原理,就沒什么問題了。
就以你說的“高四位、低四位”共8位的數為例子,加以說明吧。
第一:二進制(笨辦法)
11111111=1*2^7+1*2^6+1*2^5+1*2^4+1*2^3+1*2^2+1*2^1+1*2^0=128+64+32+16+8+4+2+1
=255
設你取得的8位數據為x,則:
x/128=第7位是0或是1
(x%128)/64=第6位的0或1
(x%64)/32=第5位的0或1
(x%32)/16=第4位的0或1
......
所有位都找出來了。
(肯定有人噴我了,我說的是原理,不是真正程序的操作方法)
第二:十六進制(通常辦法)
x=11111111=FF=15*16^1+15*16^0=240+15=255
(x/16)=第2位0~15的一個值
(x%16)=第1位0~15的一個值
這就是你要的高四位和低四位的值。在實際應用中,如用數碼管顯示紅外遙控的十六進制鍵碼,就是這樣做的。
還需要不需要我講把x轉換為十進制數呢?算了,一下都講了吧
第三:十進制
(x/100)=百位數
(x%100)/10=十位數
(x%10)/1=個位數。


作者: 單片機王者    時間: 2017-12-31 19:51
使用移位>>或<<,全變成低四位,然后進行位與運算
作者: yzwzfyz    時間: 2017-12-31 22:21
將數據與0FH相與就得到低四位。
將數據進行SWAP,再做上述動作,就得到高四位。
作者: lixiaofei789    時間: 2018-1-1 14:27
uchar date = 0xaa;
uchar dat_high = 0;
uchar dat_low = 0;
dat_high =date & 0x0f;
dat_low = (date & 0xf0) >> 4;




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 精品乱人伦一区二区三区 | 亚洲国产成人精品在线 | 日本中文在线视频 | 日韩视频精品在线 | 国产福利资源 | av在线三级 | hitomi一区二区三区精品 | 色又黄又爽网站www久久 | 国产成人麻豆免费观看 | 国产精品精品视频一区二区三区 | 国产中文字幕在线观看 | 在线视频亚洲 | 在线观看中文字幕dvd播放 | 欧美一区两区 | 91精品国产91久久久久久不卞 | 久久精品免费观看 | 亚洲一区二区三区四区五区中文 | 羞羞视频在线观看免费观看 | 精品乱码一区二区三四区 | 色婷婷av一区二区三区软件 | 日韩在线精品视频 | 欧美极品在线 | 国产在线一区二区三区 | 久久在线看 | 日日操网站 | 亚洲第一天堂 | 国户精品久久久久久久久久久不卡 | 色婷婷综合成人av | 五月婷婷丁香婷婷 | 欧美精品久久久久 | 久久亚洲欧美日韩精品专区 | 日本三级电影在线观看视频 | 欧美激情一区二区三区 | 国产目拍亚洲精品99久久精品 | 久久久久久精 | 亚洲欧美在线观看 | 国产亚洲精品美女久久久久久久久久 | 久久国产精品一区二区三区 | 日韩二| 欧美中文字幕一区 | h视频免费在线观看 |