Моя функция принимает 32-битное целое число, и мне нужно вернуть 0 или 1, если это число имеет 1 в любой четной позиции. Я не могу использовать любые условные операторы, я также могу получить доступ только к 8 битам за раз.
Вот пример ввода:
10001000 01011101 00000000 11001110
1) Сдвиньте биты и их с помощью AA (10101010) и сохраните каждый в переменной.
int a = 10001000
int b = 1000
int c = 0
int d = 10001010
Теперь мне нужно вернуть 0, если не было установлено нечётных битов, и 1, если они были. Как мы видим, были. Поэтому мне нужно объединить их в один номер, а затем использовать! оператор, чтобы вернуть 0 или 1. Вот где у меня возникли проблемы.
int valueToReturn = a | b | c | d;
Теперь мне нужно сказать:
return !!valueTOReturn;
Это не возвращает правильное значение, может кто-нибудь дать мне какое-либо понимание ???
Я не могу использовать какие-либо операторы условия, такие как || &&
Я понял это. Все, что я сказал, дает правильный ответ, но я взял неправильное значение для одной из моих переменных. Спасибо за помощь!