Tại sao biểu thức n&1 == 0
luôn trả về false
, trong đó n
là một số nguyên?Tại sao "n & 1 == 0" luôn trả về false?
Tôi muốn sử dụng thao tác bitwise để xác định xem n
có đồng đều hay không. Tuy nhiên, nó luôn luôn trở lại sai. (Clion cũng nhắc tôi rằng nó luôn trả về false
).
Hơn nữa, nó hoạt động khi tôi sử dụng n&1 != 0
để xác định xem n
có phải là số lẻ hay không.
http://en.cppreference.com/w/cpp/language/operator_precedence –
Nếu '(n & 1) == false' thì đó là số chẵn và số lẻ. Trong g ++, biên dịch với tùy chọn '-Wall' để nó cho bạn cảnh báo' n & 1 == 0' để đặt dấu ngoặc ôm xung quanh. – iammilind
cách bạn có nó trông giống như 'n & (1 == 0)' vì '1 == 0' luôn luôn là 0, chúng ta có' n & 0' luôn là 0 – JackVanier