我不认为这是可能的,但可以在1条件而不是2条件下完成吗?检查一个数字是否为偶数,而不是零,在1的条件?
我试着不要这样做
bool test = (Number1 & 1) == 0 && (Number1 > 0);
或本
bool test = (Number1 & 1) == 0 && (Number1 != 0);
我不认为这是可能的,但可以在1条件而不是2条件下完成吗?检查一个数字是否为偶数,而不是零,在1的条件?
我试着不要这样做
bool test = (Number1 & 1) == 0 && (Number1 > 0);
或本
bool test = (Number1 & 1) == 0 && (Number1 != 0);
尽管这在技术上将Number1
到一个变量,我认为它会工作。我假设Number1
从长时间运行的函数调用或属性返回?无论哪种方式:
private bool IsEvenNotZero(int num) {
return (num & 1) == 0 && (num != 0);
}
bool test = IsEvenNotZero(Number1);
这将把它放在一个参数,你可以两次这样测试参数。我不知道为什么你不能把Number1
置于一个正常的变量中,并且不知道更多的情况,我不知道是否可以做更好的事情。
@Blachshma,有位之间的差异是不是和AND数字不为零,如果Number1为6,则bit1未设置但大于0. – Fredou 2013-04-05 23:08:28
上述代码有什么问题? – Jon 2013-04-05 23:23:03
@Jon,简短的版本是,获得Number1是昂贵的,我不能将它存储在本地变量。 – Fredou 2013-04-05 23:29:09