找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2026|回復(fù): 11
收起左側(cè)

&= ~在單片機(jī)中起到什么作用

[復(fù)制鏈接]
ID:1041297 發(fā)表于 2022-8-25 10:30 | 顯示全部樓層 |閱讀模式
a &= ~0x10
請(qǐng)問(wèn)在單片機(jī)中&=~起到什么作用?
它跟|的作用一樣嗎?
回復(fù)

使用道具 舉報(bào)

ID:466505 發(fā)表于 2022-8-25 12:07 | 顯示全部樓層
算一下不就知道了,0x10取反是0xEF;a&=0xEF就是把第a的bit4置零!
回復(fù)

使用道具 舉報(bào)

ID:59202 發(fā)表于 2022-8-25 12:37 | 顯示全部樓層
這個(gè)是c語(yǔ)言中常用的清零某一位的寫法,0x10轉(zhuǎn)換成二進(jìn)制為00010000,~(00010000)= 11101111,
a  &  11101111 的結(jié)果就是a的4位必被清零,而其他位不會(huì)受影響。
而相類似的就是a |= 0x10, 也就是a = a | 00010000,結(jié)果就是a的4位被置1,而其他位不會(huì)受影響。這個(gè)語(yǔ)句就常拿來(lái)置1一個(gè)數(shù)的某一位
回復(fù)

使用道具 舉報(bào)

ID:883242 發(fā)表于 2022-8-25 12:40 | 顯示全部樓層
a=a&(~0x10)能看懂吧?看不懂回去看教科書去。
回復(fù)

使用道具 舉報(bào)

ID:624769 發(fā)表于 2022-8-25 13:03 來(lái)自觸屏版 | 顯示全部樓層
剛好是 | 的反操作,
回復(fù)

使用道具 舉報(bào)

ID:546770 發(fā)表于 2022-8-25 13:23 | 顯示全部樓層
等價(jià)于a = (a & (~0x10));
回復(fù)

使用道具 舉報(bào)

ID:161164 發(fā)表于 2022-8-25 13:24 | 顯示全部樓層
~:取反,~0x10 = ~B00010000 = B11101111 = 0xEF
&:與邏輯,A&=B, 等于 A=A&B
所以A&=~0x10 等于 A = A & 0xEF,目的是對(duì)第4位清零而不影響其它位
回復(fù)

使用道具 舉報(bào)

ID:647261 發(fā)表于 2022-8-25 13:34 | 顯示全部樓層
這和是不是在單片機(jī)中沒(méi)有關(guān)系,在其他地方也是一樣的
a&=~0x10是先按位取反,再相與賦值,相當(dāng)于a=a&(~0x10)=a&11101111,結(jié)果就是把a(bǔ)的第4位清零
|是或運(yùn)算,見1出1,顯然沒(méi)有清零的功能
回復(fù)

使用道具 舉報(bào)

ID:509408 發(fā)表于 2022-8-25 14:07 | 顯示全部樓層
等效于 a=a&(~0x01),即a=a&0xfe 目的是把bit0置0,即對(duì)某一位置0或置1 這樣寫看起來(lái)比較明朗,在一些庫(kù)函數(shù)中這種寫法比較多(如stm32),
回復(fù)

使用道具 舉報(bào)

ID:1034262 發(fā)表于 2022-8-25 16:24 | 顯示全部樓層
a &= ~0x10,就是將0x10取反變成0xef,再和a與運(yùn)算,結(jié)果送a
回復(fù)

使用道具 舉報(bào)

ID:1041297 發(fā)表于 2022-8-25 17:04 | 顯示全部樓層
lkc8210 發(fā)表于 2022-8-25 13:24
~:取反,~0x10 = ~B00010000 = B11101111 = 0xEF
&:與邏輯,A&=B, 等于 A=A&B
所以A&=~0x10 等于 A = A ...

明白了,謝謝
回復(fù)

使用道具 舉報(bào)

ID:1041297 發(fā)表于 2022-8-25 17:05 | 顯示全部樓層
xxxevery 發(fā)表于 2022-8-25 12:37
這個(gè)是c語(yǔ)言中常用的清零某一位的寫法,0x10轉(zhuǎn)換成二進(jìn)制為00010000,~(00010000)= 11101111,
a  &  11 ...

明白了,謝謝
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表