【问题标题】:In C# what does it mean when you have a variable and an &? [duplicate]在C#中,当你有一个变量和一个&是什么意思? [复制]
【发布时间】:2017-11-21 18:15:38
【问题描述】:

在网上找到了一些我正在寻找解决问题的代码,但我不确定它在“(candidate & 1) == 0”处的作用。候选人是一个int。

 if ((candidate & 1) == 0)
            {
                if (candidate == 2)
                {
                    return true;
                }
                else
                {
                    return false;
                }
            }

【问题讨论】:

标签: c# operators


【解决方案1】:

这是二进制(按位)AND 运算符。在您的情况下,if 语句正在检查最低有效位是否为 1,或者换句话说,candidate 是否为偶数:

使用数字 35 和 34 的示例:

35 & 1 = 0b100011 & 0b1 == 1 => odd
34 & 1 = 0b100010 & 0b1 == 0 => even

另请参阅:https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/operators/and-operator

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-14
    • 1970-01-01
    • 2022-12-15
    • 2019-09-12
    • 2018-04-26
    • 1970-01-01
    相关资源
    最近更新 更多