位运算是如何将变量、常量等数据转换成二进制数,进行位运算的?如:x=58,y=28,z=(x|y),z=?

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/28 02:21:21
位运算是如何将变量、常量等数据转换成二进制数,进行位运算的?如:x=58,y=28,z=(x|y),z=?

位运算是如何将变量、常量等数据转换成二进制数,进行位运算的?如:x=58,y=28,z=(x|y),z=?
位运算是如何将变量、常量等数据转换成二进制数,进行位运算的?如:x=58,y=28,z=(x|y),z=?

位运算是如何将变量、常量等数据转换成二进制数,进行位运算的?如:x=58,y=28,z=(x|y),z=?
器会帮你处理,就算你用汇编,也不需要把数字转化成二进制,然后进行位运算的啊!CPU在运算的时候,内部把所有数据都看成二进制而已.
Convert 看类名就知道,是提供一个转换函数的.
位运算只能在 byte,char,short,ushort,int,uint,long,ulong 等类型上进行运算.
当然 Enum 类型,也是基于这些类型的,也可以用位运算.
一些例子:
int a = 123;
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 按位取反