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