按位与运算符(&)
参加运算的两个数据,按二进制位进行“与”运算。
运算规则:0&0=0; 0&1=0; 1&0=0; 1&1=1;
按位或运算符(|)
参加运算的两个对象,按二进制位进行“或”运算。
运算规则:0|0=0; 0|1=1; 1|0=1; 1|1=1;
取反运算符(~)
参加运算的一个数据,按二进制位进行“取反”运算。
运算规则:~1=0; ~0=1;
异或运算符“^”
用于比较两个二进制数的相应位。在执行按位异或运算时,如果两个二进制数的相应位都位1或两个二进制数的相应位都位0,则返回 0;如果两个二进制数的相应位其中一个为1,另一个为0,则返回 1;
位移运算符“<<”和">>"
位移运算符分为左位移运算符“<<”和右位移运算符“>>”,分别用于向左和向右执行位移运算。对于X<<N 或 X>>N 形式的运算,含义是将 X 向左或向右移动 N 位,X 的类型可以是 int,uint,long,ulong,byte,sbyte,short 和ushort 。需要注意的是,byte,sbyte,short,和 ushort 类型的值在进行位移操作后值的类型讲自动转换成 int 类型。
条件运算符“? :” 又叫三元运算符
它会根据根据布尔类型值或者布尔型表达式返回两个值中的一个
int result = > ? + : + ;
// result = 4;