《嵌入式LINUX與物聯網軟件開發 C語言內核深度解析》學習2——位操作

位操作有哪些?

按位與&、 按位或|、 按位異或^、 按位取反~、 左移、 右移

位操作重要嗎?

底層驅動基本上都是用C編寫的,驅動之所以能操作硬件,是因爲能實現對寄存器的控制,而控制寄存器,必須通過位操作的運算才能實現

按位取反(~)和非(!)得區別

非(!):如果非0則結果爲0,如果爲0則結果是1

置位和復位的宏定義

#define SET_BIT_N(x,n) ((x) | (1<<((n)-1)))
#define CLR_BIT_N(x,n) ((x) & ~(1<<((n)-1)))
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章