C#位运算

运算符号 含义 运算对象类型  运算结果类型 对象数 案例 描述
~ 位逻辑运算 整型,字符型 整型 1 ~A 按位取反运算符是一元运算符,具有"翻转"位效果,即0变成1,1变成0,包括符号位。
& 位逻辑运算 2 A & B 如果同时存在于两个操作数中,二进制 AND 运算符复制一位到结果中。
| 位逻辑运算 2 A | B 如果存在于任一操作数中,二进制 OR 运算符复制一位到结果中。
^ 为逻辑异或运算 2 A ^ B 如果存在于其中一个操作数中但不同时存在于两个操作数中,二进制异或运算符复制一位到结果中。
>> 移运算 2 A >> B 二进制左移运算符。左操作数的值向左移动右操作数指定的位数。
<< 移运算 2 A << B 二进制右移运算符。左操作数的值向右移动右操作数指定的位数。

位运算符

位运算符作用于位,并逐位进行操作

1. 位逻辑非运算 ~

位逻辑非运算只有一个运算对象,对运算的值进行非运算.

即:如果某一位是1,就转变成0,如果某一位是0,就转换成1

比如:二进制的10000100进行位逻辑非运算是,结果就是01111011,转换成10进制就是:~123等于-124

将二进制中1和0互相转换,1就转换成0,0就转换成1

2.位逻辑与运算 &

位逻辑与运算是两个运算对象进行与运算

即:1与1等于1,1与0等于0,0与0等于1,0与1等于0

例:二进制10010010 & 01101010 等于 00000111

3.位逻辑或运算 |

位逻辑或是两个运算对象进行或运算

即:1或1等于1,1或0等于1,0或0等于0

例:二进制1001001001101010  等于 11111010

4.位逻辑异或运算 ^

位逻辑异或是两个运算对象进行异或运算

即:1异或1等于0,1异或0等于1,0异或0等于0,位数值相同得0,不同得1

例:二进制10010010  ^ 01101010  等于 11111000

原文地址:https://www.cnblogs.com/Hmd528/p/11040500.html