Я готовлюсь к соревнованию по программированию и наткнулся на вопрос ниже.
void main(){
int number, result;
scanf("%d",&number);
result=number-(number&-number); //this is what i'm struggling to understand
printf("%d",result);
}
Обратите внимание на использование «& -» в закомментированной строке. Я не мог понять его функцию. Я попробовал поискать в Google и реверс-инжиниринг, но ничего не смог найти.
Кроме того, сам вопрос не о точном выводе, потому что переменная "число" является динамической. Мне просто нужно узнать, что делает часть "& -".
Спасибо!