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