gpt4 book ai didi

c++ - 在 C++ 中使用 if(num & 2) 作为条件?

转载 作者:行者123 更新时间:2023-11-30 21:17:49 26 4
gpt4 key购买 nike

我正在思考一些我从未遇到过的事情……也许是有原因的。希望有人能够快速识别该模式!

test 的值检查奇数,或者即使更改为 2:

int num = 1;
int test = 1;
while (num <= 255) {
if (num & test) {
cout << num << " num & 2 =" << (num & 2) << endl;
}
num++;
}

问题 1:如何描述数学运算num & test

问题 2:如果 test 等于 3,4 或 5 会发生什么?

感谢您分享您的想法。

最佳答案

答案1:按位AND运算

Example num = 10, test = 1
10 = 1010b, 1 = 0001b
num & test = 0000b

if(num & test)相当于 if(bool(num & test)) bool(10 & 1) == bool(0) == false

答案2:

the value test checks for odd numbers

仅当 test = 1 时,因为所有奇数的最低位都是 1b

1 = 0001b
2 = 0010b
3 = 0011b
4 = 0100b
etc.

Example num = 10, test = 3
10 = 1010b, 3 = 0011b
num & test = 10 & 3 = 1010b & 0011b = 0010b = 2

关于c++ - 在 C++ 中使用 if(num & 2) 作为条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34478447/

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