位运算符对位进行运算和处理。C#中主要包括6种位运算符,如表所示。
表 C#中的位运算符
位运算符标识 |
标识说明 |
& |
按位与。将两个值的二进制进行与操作。只有两个二进位均为1时,结果位才为1,否则为0 |
| |
按位或。将两个值的二进制进行或操作。只要两个二进制位中有一个为1,结果位就等于1,否则为0 |
^ |
按位异或 |
~ |
取反 |
<< |
左移。将变量的二进制位往左移动,低位补0 |
>> |
右移。将变量的二进制位往右移动 |
下面一个例子演示了简单的位运算过程。
class Program
{
static void Main(string[] args)
{
char x = 'a', y = 'b'; //定义两个字符
int z; //定义数值型数据
z = x; //将a隐式转换为数值
Console.WriteLine("此时的z为:{0}",z);
z = (z << 8) | y; //进行位运算
Console.WriteLine("z经过左移8位,再和y进行按位与后,结果为{0}",z);
}
}
上述代码的运算结果如图所示。