gpt4 book ai didi

c - 如何在C中不使用算术运算符来查找奇数/偶数?

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

如何在不使用 % 的情况下查找给定数字是否为奇数/偶数, /或按位运算符?

最佳答案

假设 int 是 32 位:

bool even(int x) {
return !(((unsigned int)x)*0x80000000);
}

这是通过移位 int 的 32 位中除最低有效位之外的所有位来实现的,因此之后奇数为 0x80000000 ,偶数为 0 。它被转换为 bool 并取反。

<小时/>

正如 Paul R 指出的那样,可移植版本将使用 INT_MIN 而不是 0x80000000

关于c - 如何在C中不使用算术运算符来查找奇数/偶数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37165187/

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