📅  最后修改于: 2023-12-03 15:13:50.457000             🧑  作者: Mango
位运算是处理二进制数据时非常有用的运算方式。在C#中,我们可以使用位运算符来执行位运算操作。本文将介绍C#中的位运算及其用法。
C#中的位运算符包括以下内容:
| 运算符 | 描述 | | ------ | ------------------------ | | & | 按位与 | | | | 按位或 | | ^ | 按位异或 | | ~ | 按位取反 | | << | 左移运算符(左移n位) | | >> | 右移运算符(右移n位) |
按位与运算符(&)将两个操作数的每个位进行比较,如果两个操作数的对应位都是1,则结果为1,否则为0。
例如:
int a = 5; //二进制表示为101
int b = 3; //二进制表示为011
int c = a & b; //c的二进制表示为001,十进制表示为1
按位或运算符(|)将两个操作数的每个位进行比较,只要其中一个操作数的对应位是1,则结果为1,否则为0。
例如:
int a = 5; //二进制表示为101
int b = 3; //二进制表示为011
int c = a | b; //c的二进制表示为111,十进制表示为7
按位异或运算符(^)将两个操作数的每个位进行比较,如果两个操作数的对应位只有一个是1,则结果为1,否则为0。
例如:
int a = 5; //二进制表示为101
int b = 3; //二进制表示为011
int c = a ^ b; //c的二进制表示为110,十进制表示为6
按位取反运算符(~)将操作数的每个位进行取反操作,即0变成1,1变成0。
例如:
int a = 5; //二进制表示为101
int b = ~a; //b的二进制表示为11111111111111111111111111111010,十进制表示为-6
左移运算符(<<)将操作数的所有位左移指定的数量,即在右端添加零。
例如:
int a = 5; //二进制表示为101
int b = a << 2; //b的二进制表示为10100,十进制表示为20
右移运算符(>>)将操作数的所有位右移指定的数量,即在左端添加零。
例如:
int a = 5; //二进制表示为101
int b = a >> 2; //b的二进制表示为1,十进制表示为1
位运算在处理二进制数据时非常有用。本文介绍了C#中的位运算符及其用法,包括按位与(&),按位或(|),按位异或(^),按位取反(~),左移位(<<)和右移位(>>)。要在C#中使用位运算符,只需掌握这些运算符及其用法。