Вернуть 1, если какие-либо биты в целом числе равны 1, используя битовые операции в C

Я много часов думал над этой проблемой. Вот оно:

Напишите выражение, которое возвращает 1, если заданное целое число «x» имеет какие-либо биты, равные 1. В противном случае верните 0.

Я понимаю, что по сути я просто пытаюсь выяснить, если x == 0, потому что это единственный int, у которого нет 1 бита, но я не могу найти решение. Вы не можете использовать традиционные контрольные структуры. Вы можете использовать побитовые операторы, сложение, вычитание и битовые сдвиги. Предложения?

7
задан Paul R 11 January 2017 в 07:38
поделиться