在C#中可以对整型运算对象按位进行逻辑运算,按位进行逻辑运算的意义是:依次取被运算对象的每个位,进行逻辑运算,每个位的逻辑运算结果是结果值的每个位,C#支持的位逻辑运算符如下表。
1、位逻辑非运算
1变0,0变1
比如,对二进制的10010001进行为逻辑非运算,结果等于01101110,用十进制表示就是:~145等于110
用途:
暂时还没想明白,这个有啥实际的应用......
2、位逻辑与运算
“按位与”运算符(&)
位逻辑与运算将两个运算对象按位进行与运算,1与1等于1,1与0等于0
0&0=0,0&1=0,1&0=0,1&1=1.
用途:
①清零
运算对象:原来的数中为1的位,全部变为0
②取一个数中某些指定位
对传入的byte型参数name进行进行位逻辑与运算,name的每一位表示不同国家的美女
public static string doGirl(string name,string country)
{
int i_name= int.Parse(name);
string ret= "";
if ((i_name& 1) == 1) {
ret= StaticUtil.girlIni.ReadValue("girl",country+"-1");
} else if ((i_name& 2) == 2) {
ret= StaticUtil.girlIni.ReadValue("girl",country+"-2");
}else if ((i_name& 4) == 4) {
ret= StaticUtil.girlIni.ReadValue("girl",country+"-4");
}else if ((i_name& 8) == 8) {
ret= StaticUtil.girlIni.ReadValue("girl",country+"-8");
} else if ((i_name& 16) == 16) {
ret= StaticUtil.girlIn