Мне нужно создать функцию bitParity(int x)
, которая принимает целое число и возвращает 1
, если в битовой форме x
есть нечетное число 0
и 0
.
Пример: bitParity(5) = 0, bitParity(7) = 1
Однако это сложно, так как я могу использовать только битовые операторы по этой проблеме (! ˜ & ˆ | + << >>
являются единственными законными). Это означает, что нет циклов, if-then
или что-то в этом роде. Можно использовать константы.
До сих пор то, что у меня не работает, но я полагал, что я должен смещать биты целого числа 16
, 8
и 4
times и XOR
оставшиеся целые числа.
Может кто-нибудь предложить какой-нибудь совет? Спасибо.