gpt4 book ai didi

c# - int int.operator(int left, int right) &

转载 作者:行者123 更新时间:2023-11-30 14:06:35 41 4
gpt4 key购买 nike

我试着理解这个表达:

 static Func<int, bool> isOdd = i => (i & 1) == 1;

但是这是什么意思呢?

例如我有 i = 3。然后 (3 & 1) == 1

或 i = 4。然后 (4 & 1) == 1

我不明白这个。它如何确定什么时候是奇数或什么时候是偶数。

用这个方法:

public static void Hallo2()
{
for (int i = 0; i < 10; i++)
{
if (isOdd(i))
Console.WriteLine(i + " is odd");
else
Console.WriteLine(i + " is even");
}

}

谢谢

最佳答案

& 是按位与操作。net 使用 32 位整数,但对于这个例子,我将使用 4 位,左边的位是最低有效位。

操作 3 和 1。查看二进制数 1100 和 1000 并将输出两个值均为 的数字。 1000 = 1。

4 & 1 是 0010 和 1000 所以 0000 = 0

它基本上是检查第一个(或最低有效位)是否为 1,如果是我们就知道数字是奇数。

关于c# - int int.operator(int left, int right) &,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46879049/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com