В
Все
Х
Химия
В
Видео-ответы
А
Алгебра
Г
Геометрия
О
ОБЖ
Д
Другие предметы
У
Українська література
Р
Русский язык
Б
Беларуская мова
У
Українська мова
Э
Экономика
Ф
Физика
М
Математика
Ф
Французский язык
Г
География
И
Информатика
М
МХК
О
Окружающий мир
П
Психология
Н
Немецкий язык
О
Обществознание
П
Право
И
История
М
Музыка
Л
Литература
Қ
Қазақ тiлi
Б
Биология
А
Английский язык
progames2002
progames2002
27.05.2020 19:41 •  Информатика

Как можно понят это в с++ ? n ^ (n > > 1)

Ответ:
krachun77
krachun77
26.07.2020 01:30
Это понимать так, как и написано: 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
Вроде так как-то.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?