C 位運算子( )

2021-09-02 14:59:57 字數 884 閱讀 2854

位運算子作用於位,並逐位執行操作。&、 | 和 ^ 的真值表如下所示:pq

p & q

p | q

p ^ q00

0000

1011

1111

0100

11假設如果 a = 60,且 b = 13,現在以二進位制格式表示,它們如下所示:

a = 0011 1100

b = 0000 1101

a&b = 0000 1100

a|b = 0011 1101

a^b = 0011 0001

~a  = 1100 0011

下表顯示了 c++ 支援的位運算子。假設變數 a 的值為 60,變數 b 的值為 13,則:

運算子描述例項&

如果同時存在於兩個運算元中,二進位制 and 運算子複製一位到結果中。

(a & b) 將得到 12,即為 0000 1100

|如果存在於任一運算元中,二進位制 or 運算子複製一位到結果中。

(a | b) 將得到 61,即為 0011 1101

^如果存在於其中乙個運算元中但不同時存在於兩個運算元中,二進位制異或運算子複製一位到結果中。

(a ^ b) 將得到 49,即為 0011 0001

~二進位制補碼運算子是一元運算子,具有"翻轉"位效果,即0變成1,1變成0。

(~a ) 將得到 -61,即為 1100 0011,乙個有符號二進位制數的補碼形式。

<<

二進位制左移運算子。左運算元的值向左移動右運算元指定的位數。

a << 2 將得到 240,即為 1111 0000

>>

二進位制右移運算子。左運算元的值向右移動右運算元指定的位數。

a >> 2 將得到 15,即為 0000 1111

C 位運算子

c 源自c,在提供高階語言便利的同時,也繼承了c在硬體程式設計方面的功能。因此適用於編寫裝置驅動和嵌入式大 c c 提供位邏輯運算子和移位運算子。二者只能用於整形和字元型。位運算子是對每位進行操作而不影響左右兩位,這有別於常規運算子 是將整個數進行操作的。一 位邏輯運算子 1 按位取反 將1變為0,...

C 位運算子

最近工作專案壓力不大,便繼續開始自學c 發現基礎知識忘記的差不多了.上網搜尋了一些基礎的不能再基礎的東西,溫故知新.c 位運算子 http www.diybl.com course 3 program c cppjs 20090403 163995.html c c 提供位邏輯運算子和移位運算子。二...

C 位運算子

位運算子作用於位,並逐位執行操作。和 的真值表如下所示 pq p qp q p q000 0001 0111 1110 1001 1假設如果 a 60,且 b 13,現在以二進位制格式表示,它們如下所示 a 0011 1100 b 0000 1101 a b 0000 1100 a b 0011 1...