日期:2014-05-20  浏览次数:20737 次

returnValue = returnValue | 4;
如题目 这样的写法是怎么解释.
 returnValue = returnValue | 4;

------解决方案--------------------
或操作啊,
4的二进制是0100

比如数字2的二进制是0010,那么2 | 4 就是 0010 | 0100 = 0110 , 就是6
比如数字6的二进制是0110,那么6 | 4 就是 0110 | 0100 = 0110 , 就是6本身
------解决方案--------------------
.net里面是给一个整型变量中的二进制第4位设置成1,也就是要么值不变,要么+4。
js里面嘛 就是如果前面的值是 (0 null undefined NaN false "") 中任何一个 那么返回4,否则返回前面的值。
------解决方案--------------------
真变态的写法
------解决方案--------------------
位运算,把 returnValue 的第2位置为1(从零开始计数)。
------解决方案--------------------
探讨
那如果是这样呢?

C# code
bool returnValue =false;
returnValue =returnValue | GetBool()//这个方法返回的是true




这种是怎么样的运算模式?

------解决方案--------------------
探讨
或操作啊,
4的二进制是0100

比如数字2的二进制是0010,那么2 | 4 就是 0010 | 0100 = 0110 , 就是6
比如数字6的二进制是0110,那么6 | 4 就是 0110 | 0100 = 0110 , 就是6本身