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

標題: C語言8位的數據賦值給一個只有一位的變量時單片機是怎么處理的 [打印本頁]

作者: franklee    時間: 2024-6-20 10:17
標題: C語言8位的數據賦值給一個只有一位的變量時單片機是怎么處理的
請教一個問題:sbit  SDA=P2^1; ..................
unsigned char byte=0xA0 ;..................

SDA=byte &(0x80 >2);
..................
請問這時SDA的值是多少?像這種8位數據賦值給一個只有一位的變量時,單片機是怎么處理的?謝謝!

作者: devcang    時間: 2024-6-20 12:48
結果中,第1位是什么。
作者: esslitao    時間: 2024-6-21 08:07
在程序中試一下就知道了。
作者: cy009    時間: 2024-6-21 09:26
程序中SDA=byte &(0x80 >2)   應該是SDA=byte &(0x80 >>2)吧?
作者: lkc8210    時間: 2024-6-21 09:47
假設你沒打錯
SDA=byte &(0x80 >2);
SDA=0xA0 &(1);
SDA=0;

假設你打錯了
正確的是
SDA=byte &(0x80 >>2);
SDA=0xA0 & 0x20;
SDA=0x20;
SDA=1;
作者: franklee    時間: 2024-6-21 11:08
cy009 發表于 2024-6-21 09:26
程序中SDA=byte &(0x80 >2)   應該是SDA=byte &(0x80 >>2)吧?

是的,我打錯了;

作者: franklee    時間: 2024-6-21 11:15
lkc8210 發表于 2024-6-21 09:47
假設你沒打錯
SDA=byte &(0x80 >2);
SDA=0xA0 &(1);

對的,我打錯了,是第二個;但是我有個疑問,1010 0000和0010 0000 與運算后的值是 0010 0000,這個8位的二進制數賦值給一個一位的二進制數(SDA)時,為什么是1?如果這個8位的二進制數是 0101 0000,那SDA此時的值是多少?謝謝!
作者: lkc8210    時間: 2024-6-21 13:13
franklee 發表于 2024-6-21 11:15
對的,我打錯了,是第二個;但是我有個疑問,1010 0000和0010 0000 與運算后的值是 0010 0000,這個8位的 ...

非零即1
作者: shennognshi    時間: 2024-6-21 14:09
只要賦給給sda的不是0,sda就是1?
作者: franklee    時間: 2024-6-21 15:15
lkc8210 發表于 2024-6-21 13:13
非零即1

是的,非零即1,但是是由8位數據中的哪位來決定的?
作者: franklee    時間: 2024-6-21 15:17
shennognshi 發表于 2024-6-21 14:09
只要賦給給sda的不是0,sda就是1?

是的,不是1就是0,但是1或者0是由什么因素決定的?8位數據中的最高位或者是最低位還是其他的因素?

作者: cy009    時間: 2024-6-21 18:44
franklee 發表于 2024-6-21 15:15
是的,非零即1,但是是由8位數據中的哪位來決定的?

按位與,只有兩個結果,零(0x00)和非零,非零結果都是1
作者: 188610329    時間: 2024-6-22 20:26
當把一個 BYTE  賦值給 BIT的時候,其實是做了一個 判斷 操作。
相當于,
if(byte != 0x00)  SDA =1;
else   SDA = 0;
作者: xiaobendan001    時間: 2024-6-23 07:35
franklee 發表于 2024-6-21 15:17
是的,不是1就是0,但是1或者0是由什么因素決定的?8位數據中的最高位或者是最低位還是其他的因素?

非0 就是只要不是0,都算1了,哪一位都是,不管哪一位為1都使該unsigned char非0
作者: Y_G_G    時間: 2024-6-24 09:23
franklee 發表于 2024-6-21 15:17
是的,不是1就是0,但是1或者0是由什么因素決定的?8位數據中的最高位或者是最低位還是其他的因素?

在SDA=byte &(0x80 >2);中
byte &(0x80 >2) 的結果是一個邏輯值:真或者假,也就是1或者0,邏輯值就是一個位,而不是一個數字的1或者是0
作者: franklee    時間: 2024-6-29 16:45
謝謝各位的回復,有點明白了,再次感謝!
作者: 藍藍小星星    時間: 2024-6-29 17:40
不規范的寫法。




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 国产精品精品 | 国产欧美视频一区 | 精品久久久久香蕉网 | 欧洲精品久久久久毛片完整版 | a国产视频 | 男女羞羞视频在线免费观看 | 在线看av的网址 | 青青草在线视频免费观看 | 久久中文字幕视频 | 欧美日韩不卡合集视频 | 久久免费精品视频 | 成人三级视频 | 久久av网站 | 欧美成年黄网站色视频 | 一区二区欧美在线 | 精品视频免费 | 欧美中文在线 | 欧美日韩在线观看视频网站 | 国产一区二区激情视频 | 黄色成人免费看 | 亚洲欧美综合精品久久成人 | 国产精品国产三级国产aⅴ无密码 | 欧美国产日韩精品 | 99精品久久 | 91麻豆蜜桃一区二区三区 | 亚洲激精日韩激精欧美精品 | 日韩久久中文字幕 | 日韩精品在线免费观看视频 | 国产高清视频在线 | 欧美久久久久久 | 国产精品不卡 | 色婷婷久久久亚洲一区二区三区 | 欧美日韩国产中文字幕 | 久久久夜色精品亚洲 | 亚洲一区欧美 | 欧美涩涩网 | 在线看91| 国产一区二区在线播放 | 色99视频| 求毛片 | 在线观看中文字幕av |