我在语句中包含这两个条件if来检查是x偶数还是奇数,但似乎在偶数的情况下!(x&1)执行了主体,而没有执行它。ifxx&1==0
if
x
!(x&1)
x&1==0
考虑到32 或 64 位表示中的1 & 0is和 1 ,我希望两者都给出 0 ,并且如果,比如说,是类似(偶数)的东西,那么它们的按位 和 应该产生 0。因此,我仍然不确定为什么有效。如果我有任何错误的地方,请纠正我。谢谢。0000..01x10010101100!(x&1)
1 & 0
0
000..01
10010101100
c++ bitwise-operators c++17
bitwise-operators ×1
c++ ×1
c++17 ×1