这里不介绍按位或按位与的二进制算法,网上大都说的都是关于int类型二进制的按位与和按位或的用法,这里我们来看看bool类型的用法。
具体看代码
static void Main(string[] args)
{
int i = 0;
Console.WriteLine("========================按位与");
Console.WriteLine("false&true\t{0}",false &true);
Console.WriteLine("true&true\t{0}", true & true);
Console.WriteLine("true&false\t{0}", true & false);
Console.WriteLine("false&false\t{0}", false & false);
Console.WriteLine("false&true\t{0}", false & ((i=i+7)>2));
//&不管左值为真还是假 右值都会运算
Console.WriteLine("i="+i);
Console.WriteLine("==================按位或运算");
Console.WriteLine("false|true\t{0}", false | true);
Console.WriteLine("true|true\t{0}", true | true);
Console.WriteLine("true|false\t{0}", true | false);
Console.WriteLine("false|false\t{0}", false | false);
Console.WriteLine("false|true\t{0}", false | ((i = i + 7) > 2));
Console.WriteLine("i=" + i);
}
结果:
我们可以根据结果发现,按位与和按位或不像逻辑与和逻辑或,会出现短路情况,而是不管你左值是真是假,右值都会执行。
版权声明:本文为csdn2990原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。