Задать вопрос
22 марта, 18:46

Как можно понят это в с + + ?

n ^ (n >> 1)

+1
Ответы (1)
  1. 22 марта, 19:05
    0
    Это понимать так, как и написано: n XOR x, где x равно (n>>1) (число, которое получится, если побитово сдвинуть n вправо на 1).

    Побитовый сдвиг это такая операция, при которой двоичная запись числа сдвигается на указанное количество бит вправо или влево, а пустые биты заполняются значением бита знака числа n (+ это 0, минус это 1).

    Например переменная n размером 1 байт имеет значение 7, это выглядит как 00000111. Если выполнить операцию n>>1, то надо просто стереть (1) одну правую единицу, а слева дописать один ноль (ноль, потому что n положительное, если бы n было отрицательное, то дописывается 1). Получится 00000011=3, то есть 7>>1 = 3.

    Таким образом (если n=7), исходная запись означала бы n^ (n>>1) = 7 XOR (7>>1) = 7 XOR 3 = 00000111 XOR 00000011 = 00000100 = 4

    Вроде так как-то.
Знаете ответ на вопрос?
Не уверены в ответе?
Правильный ответ на вопрос 👍 «Как можно понят это в с + + ? n ^ (n >> 1) ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы