C 之位操作符

2022-02-23 02:25:18 字數 937 閱讀 2680

位操作符:

將其整型運算元視為二進位制位的集合,為每一位提供檢驗和設定的功能。

~    :按位求反

<<  :左移,左移1相當於*2

:其右運算元標識要左移動的位數,從而產生新的值,並丟棄移出去的位,在右邊插入0以補充空位。

>>  :右移,右移1相當於/2

:其有運算元標識要右移的位數,從而產生新的值,並丟棄移出去的位。

:如果右邊的運算元是無符號數,則從左邊插入0;如果運算元是有符號數,則插入符號位的值或0.

注意:移位操作的右運算元不可能是負數,而且必須是嚴格小於左運算元的位數的值。否則無意義。

&     :位與,有0的,則與的結果為0

|    :位或,有1的,則或的結果為1

^   :異或,兩位不同則為1,相同則為0

注意:由於系統不能確保如何處理運算元的符號位,建議使用unsigned整型運算元。

位操作符:

將其整型運算元視為二進位制位的集合,為每一位提供檢驗和設定的功能。

~    :按位求反

<<  :左移,左移1相當於*2

:其右運算元標識要左移動的位數,從而產生新的值,並丟棄移出去的位,在右邊插入0以補充空位。

>>  :右移,右移1相當於/2

:其有運算元標識要右移的位數,從而產生新的值,並丟棄移出去的位。

:如果右邊的運算元是無符號數,則從左邊插入0;如果運算元是有符號數,則插入符號位的值或0.

注意:移位操作的右運算元不可能是負數,而且必須是嚴格小於左運算元的位數的值。否則無意義。

&     :位與,有0的,則與的結果為0

|    :位或,有1的,則或的結果為1

^   :異或,兩位不同則為1,相同則為0

注意:由於系統不能確保如何處理運算元的符號位,建議使用unsigned整型運算元。

c 位操作符

我們知道,任何資訊在計算機中都是以二進位制的形式儲存的。位操作符就是對資料按二進位制進行運算的操作符。c 語言中的位操作符有 與 或 異或 取補 左移 右移 其中,取補只有乙個運算元,而其它的位操作符都有兩個運算元。這些運算都不會產生溢位。位操作符的運算元為整型或者是可以轉換為整型的任何其它型別。與...

C位操作符

1.按位與 如果兩個位都是1,則結果為1 否則結果為0 示例 5 2 00000101 5的二進位制 00000010 2的二進位制 00000000 5 2結果二進位制,10進製結果為0 2.按位或 如果兩個位至少有乙個是1,則結果為1 否則結果為0 示例 5 2 00000101 5的二進位制 ...

c語言操作符 位操作符 移位操作符

1 按位操作符 1.1 按位 與 雙目運算子 僅當兩個運算元都為1時,結果為1,否則為0。參與運算的數以補碼方式出現。例 9 5 1 0000 1001 9的補碼 0000 0101 5的補碼 0000 0001 1的補碼 應用 a 通常將某些位清零或保留某些位。例如 將a的高八位清零,保留低八位,...