小编Sid*_*tha的帖子

为什么 x&1==0 和 !(x&1) 在 C++ 的 if 语句中不会产生相同的结果?

我在语句中包含这两个条件if来检查是x偶数还是奇数,但似乎在偶数的情况下!(x&1)执行了主体,而没有执行它。ifxx&1==0

考虑到32 或 64 位表示中的1 & 0is和 1 ,我希望两者都给出 0 ,并且如果,比如说,是类似(偶数)的东西,那么它们的按位 和 应该产生 0。因此,我仍然不确定为什么有效。如果我有任何错误的地方,请纠正我。谢谢。0000..01x10010101100!(x&1)

c++ bitwise-operators c++17

-1
推荐指数
1
解决办法
132
查看次数

标签 统计

bitwise-operators ×1

c++ ×1

c++17 ×1