C C 中的位運算子

2022-03-04 04:13:31 字數 750 閱讀 9853

--------開始--------

我自己都記不住這是第幾次把這幾個位運算子搞混了,剛好在剛用過來把這幾個位運算子記下來,俗話說的好好記性不如個爛筆頭。

運算子:

與           或           非          異或

and , &      or , |       not , ~        ^

單目運算子:~(按位取反)

雙目運算子:<<   >>   &   |   ^(左移,右移,按位與,按位或,按位異或)

1)~     按位取反具有有結合性,其功能為對參與運算的數的各二進位制位按位取反。

2)&     其功能為對參與運算的兩運算元各對應的二進位制位相與。(都為1為1,否則為0)

3) |     其功能為對參與運算的兩運算元各對應的二進位制位想或。(有1為1,沒1為0)

4)^     其功能為對參與運算的兩運算元各對應的二進位制位相異或。(同是1為0,都為0為0,有單個1為1)                               // 1)2)3)4)為邏輯運算子

5)>>   右移運算子其功能為把運算元的各二進位制位全部右移若干位。(類似將該數除於2的若干次方倍)

6)<<   左移運算子其功能為把運算元的各二進位制位全部左移若干位。(類似將該數乘於2的若干次方倍)         // 5)和 6)為移位運算子

移位運算:移位後高位以符號位填充,低位越界後捨棄     且大多數為向下取整。

--------結束--------

C C 運算子 運算

規則 1 1 1 1 0 1 0 1 1 0 0 0 按位或運算 按位或運算子 是雙目運算子。其功能是參與運算的兩數各對應的二進位 也就是最後一位 相或。只要對應的二個二進位有乙個為1時,結果位就為1。參與 運算的兩個數均以補碼出現。例如 9 5可寫算式如下 00001001 00000101 00...

位運算子,「,」逗號運算子,

位運算子有 按位與 按位或 按位異或 按位取反 優先順序從高到低,依次為 按位與運算有兩種典型用法,一是取乙個位串資訊的某幾位,如以下 擷取x的最低7位 x 0177。二是讓某變數保留某幾位,其餘位置0,如以下 讓x只保留最低6位 x x 077。按位或運算的典型用法是將乙個位串資訊的某幾位置為1。...

運算子之位運算子

右移 負數 無符號右移 或 異或 與 非 說明 位運算子都是作用在二進位製上的 比如 n 50 n 1 結果是多少?100 n 2 結果是多少?200 n 5 結果是多少?1600 為什麼會是這樣的呢?運算的邏輯如下 1,n 50 2,n的二進位制是 0011 0010 3,0011 0010 左移...