进行位运算,是不需要转化成二进制的。
CPU在运算的时候,内部把所有数据都看成二进制。Convert 看类名就知道,是提供一个转换函数的。
位运算只能在 byte, char, short, ushort, int, uint, long, ulong 等类型上进行运算。
当然 Enum 类型,也是基于这些类型的,也可以用位运算。
一些例子:
int a = 8;
int b = a << 2; //a 左移2位
int c = b >> 1; //b 右移1位
int d = a ^ b; //a 和 b 按位异或
int e = c & d; //c 和 d 按位与
int f = d | e; //d 和 e 按位或
int g = ~f; //f 按位取反