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

標(biāo)題: 關(guān)于C語(yǔ)言按位與 [打印本頁(yè)]

作者: 梁美勝    時(shí)間: 2020-12-19 11:54
標(biāo)題: 關(guān)于C語(yǔ)言按位與
        DSIO = addr & 0x01 ;//數(shù)據(jù)從低位開始傳送
                addr >>= 1;
         和
DSIO = addr  ;//數(shù)據(jù)從低位開始傳送
                addr >>= 1;
    有什么區(qū)別

作者: csmyldl    時(shí)間: 2020-12-19 15:48
前者保證DSIO上的值是0或1,而后者輸出給DSIO的值可能不是0或1,要看DSIO是如何定義的
作者: 梁美勝    時(shí)間: 2020-12-19 16:43
csmyldl 發(fā)表于 2020-12-19 15:48
前者保證DSIO上的值是0或1,而后者輸出給DSIO的值可能不是0或1,要看DSIO是如何定義的

DSIO = addr;怎么判斷傳給DSIO的值是什么
作者: langsink    時(shí)間: 2020-12-19 17:13
可以通過(guò)指針來(lái)解決
作者: univers    時(shí)間: 2020-12-19 17:34
相與的,是零,則一定是0
作者: csmyldl    時(shí)間: 2020-12-19 18:40
梁美勝 發(fā)表于 2020-12-19 16:43
DSIO = addr;怎么判斷傳給DSIO的值是什么

假設(shè)addr=0xff,則addr&0x01=0xff&0x01(即保留0xff最低位)=0x01,其值為1,若addr=0xfe,則addr&0x01=0xfe&0x01(即保留0xfe最低位)=0x00,其值為0
作者: 308949503    時(shí)間: 2020-12-19 19:01
串口通信經(jīng)常用到按位與來(lái)判斷高低電平,要規(guī)定高定平即與上0x80或0x01,看你從高位傳還是低位傳了
作者: lihuaqing    時(shí)間: 2020-12-19 19:57
前者按位傳送,后者整個(gè)字節(jié)傳送
作者: lihuaqing    時(shí)間: 2020-12-19 19:58
csmyldl 發(fā)表于 2020-12-19 15:48
前者保證DSIO上的值是0或1,而后者輸出給DSIO的值可能不是0或1,要看DSIO是如何定義的

這個(gè)說(shuō)法是最正確的。
作者: annika    時(shí)間: 2020-12-20 16:35
前者輸出十六進(jìn)制數(shù)addr的最后一位,后者輸出addr
作者: xbook_ben    時(shí)間: 2020-12-20 17:07
DSIO = addr & 0x01表示的是DSIO只取addr的最低位,即 DSIO值必定為0或者1;
DSIO = addr表示的是把a(bǔ)ddr的整個(gè)值給DSIO了,如果DSIO和addr類型相同,DSIO的值等于addr;
作者: wulin    時(shí)間: 2020-12-20 21:40
梁美勝 發(fā)表于 2020-12-19 16:43
DSIO = addr;怎么判斷傳給DSIO的值是什么

DSIO是位變量,只有0和1兩個(gè)狀態(tài)。addr是一個(gè)字節(jié)變量,數(shù)據(jù)范圍0~255。
DSIO = addr & 0x01 ;是把a(bǔ)ddr最低位賦值于DSIO。
如果寫成DSIO = addr;就會(huì)使得addr除0x00以外的任意數(shù)都會(huì)賦值DSIO為1而出錯(cuò)。




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