Правильно, должны быть проверены границы для n == 0 и n <MAXINT (или любой другой правильной константы для этого) По крайней мере, я правильно интерпретировал вопрос
жные дубликаты:
Как вы устанавливаете, очищаете и переключаете один бит в C?
Удаление младшего разряда
n
является положительным целым числом. Как можно установить его самый правый установленный бит?
Сказатьn
= 7
=> n = 0111. Я хочу0110
в качестве выхода. Есть ли простой побитовый хак для достижения цели?