C 位運算子

2022-08-28 03:33:09 字數 1447 閱讀 6217

一、c#位運算子

c#語言的位運算子可以對整型運算物件按位進行邏輯運算。

二、提示

1. 與運算子

與運算子的運算規則如下:

0 & 0 = 0

0 & 1 = 0

1 & 0 = 0

1 & 1 = 1例如:

2的二進位制表示: 00000010

10的二進位制表示:00001010

------------------------

與運算的結果:  00000010所以,2&10的結果為2。

2. 或運算子

或運算子的運算規則如下:

0 | 0 = 0

0 | 1 = 1

1 | 0 = 1

1 | 1 = 1例如:

2的二進位制表示:  00000010

10的二進位制表示: 00001010

-------------------------

或運算的結果:   00001010所以,2|10的結果為10。

3. 異或運算子

異或運算子的運算規則如下:

0 ^ 0 = 0

0 ^ 1 = 1

1 ^ 0 = 1

1 ^ 1 = 0例如:

2的二進位制表示:  00000010

10的二進位制表示: 00001010

-------------------------

異或運算的結果: 00001000所以,2^10的結果為8。

4. 取補運算子

例如:10的二進位制表示:00001010

------------------------

取補運算的結果:11110101所以,10取補的結果為245。

5. 左移運算子

左移運算將運算元按二進位制位左移,高位被丟棄,低位順序補0。比如10的二進位制為00001010,左移一位為00010100(20),左移二位為00101000(40)。

6. 右移運算子

右移運算時,如果運算元x是int或long型時,x的低位被丟棄,其它各位順序依次右移;如果x是非負數,最高位設成0;如果x為負數,則最高位高為1。而當x的型別為uint或ulong型別時,x的低位將被丟棄,其它各位順序依次右移,高位設為0。

注:將x的取值設定為不同的型別時,執行程式後會自動顯示右移後的結果。

三、示例

using system;

using system.collections.generic;

using system.linq;

using system.text;

namespace test}}

上述**中,還沒有給出20和5的二進位制表示形式!

執行結果:

與運算子:4

或運算子:21

異或運算子:17

取補運算子:-21

左移運算子:160

右移運算子:2

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...