C語言位操作

2021-09-19 12:44:21 字數 514 閱讀 4522

由於在做乙個航天的專案,需要用到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異或無變化,移位分 左 右 移,物件分 有 無符號數,只說一點 有符號數右移左側補符號位,叫算術移位,...