由於在做乙個航天的專案,需要用到c語言各種位操作,故集合起來,以後找起來就不用這麼麻煩。
符號描述
運算規則&與
兩個位都為1時,結果才為1
或兩個位都為0時,結果才為0^異或
兩個位相同為0,相異為1~取反
0變1,1變0
<<
左移各二進位全部左移若干位,高位丟棄,低位補0
>>
右移各二進位全部右移若干位,對無符號數,高位補0,有符號數,各編譯器處理方法不一樣,有的補符號位(算術右移),有的補0(邏輯右移)
一、指定的某一位數置1
#define setbit(x,y) x|=(1《二、指定的某一位數置0
#define clrbit(x,y) x&=~(1《三、指定的某一位數取反
#define reversebit(x,y) x^=(1《四、獲取的某一位的值
#define getbit(x,y) ((x) >> (y)&1)
C語言位操作
在電腦程式中,資料的位是可以操作的最小資料單位,理論上可以用 位運算 來 完成所有的運算和操作。一般的位操作是用來控制硬體的,或者做資料變換使用,但是,靈活的位操作可以有效地提高程式執行的效率。c語言提供了位運算的功 能,這使得c語言也能像組合語言一樣用來編寫系統程式。位運算子c語言提供了六種位運算...
c語言位操作
位運算 and與 有一位為0 運算就為0 想獲取高四位,a a 0xf0 簡寫 a 0xf0 清零 一三五七位清零 a a 0x55 檢測位 檢測第三位 a a 0x04 遮蔽高四位,保留低4 位 a a 0x0f 統計2進製a中1的個數 1 include2 int main 3 11 print...
C語言位操作
朱老師物聯網大講堂 學習筆記 1 位與 只有1 1才是1,其餘全是0,位或 只有0 0才是0,其餘全是1,位取反 按位操作,位異或 1 0 1 0 1 1,也就是說相異結果是1,與1異或會取反,與0異或無變化,移位分 左 右 移,物件分 有 無符號數,只說一點 有符號數右移左側補符號位,叫算術移位,...