標(biāo)題: C語言i=(0x21&0x80);有人能給解惑嗎?謝謝 [打印本頁]

作者: zcwjzwd    時間: 2021-1-25 20:49
標(biāo)題: C語言i=(0x21&0x80);有人能給解惑嗎?謝謝
i=(0x21&0x80);
i是取字節(jié)還是取位?

作者: 人人學(xué)會單片機(jī)    時間: 2021-1-25 23:35
這個問題 得看情況,如果變量是8位 就是字節(jié)。如果i是bit位 那就是取最高位。但是 不一定每種單片機(jī)都有可以bit
作者: f556    時間: 2021-1-26 00:42
0x21&0x80是按位與,是b 0010 0001  & 1000 000 =0,i是字節(jié),除非定義為位變量
作者: 夢想樹    時間: 2021-1-26 09:16
0x21&0x80運(yùn)算是按位與,即0010 0001  & 1000 000 =0000 0000,然后再看i是定義為什么類型,來決定是取字節(jié)還是位
作者: munuc_w    時間: 2021-1-26 09:53
i是字節(jié),在C51中可以取位,i要定義成位變量,i=(bit)(0x21&0x80);i中就是位了。
作者: zzxiao    時間: 2021-1-26 10:17
看你的定義 0x21是  0010 0001,0x80是1000 0000然后按位與
作者: waizuhuren    時間: 2021-1-26 10:51
這個是按位與,然后看具體i的類型是字節(jié)還是位
作者: 圍師必闕-    時間: 2021-1-26 14:53
主要看定義時i的類型
作者: zcwjzwd    時間: 2021-1-26 23:47
謝謝各位!受教了
作者: cn_zhx    時間: 2021-2-24 10:01
基礎(chǔ)的東西
作者: xunzhaod    時間: 2021-2-25 15:27
代碼附上看看,i=(0x21&0x80);i=0;都清零了
作者: 求解答    時間: 2021-2-27 15:25
運(yùn)算按位與  0x21=0b0010 0001
作者: hantu    時間: 2021-2-27 17:26
一般這樣的代碼,是為了檢測一個字節(jié)的最高位是0還是1的,不過,代碼要結(jié)合上下文才可以有具體的意義。
作者: 還有誰?    時間: 2021-2-27 17:40
位運(yùn)算而己,多看看基礎(chǔ)




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