М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
niaz167361
niaz167361
12.10.2022 07:50 •  Информатика

1. Напишите логическую операцию и маску (в шестнадцатеричной системе счисления), которые нужно применить, чтобы ОБНУЛИТЬ указанные биты 16-битного целого числа (биты нумеруются справа налево, начиная с 0). 1. {8, 5, 7}

2. Напишите логическую операцию и маску (в шестнадцатеричной системе счисления), которые нужно применить, чтобы УСТАНОВИТЬ указанные биты 16-битного целого числа.

{9, 2, 3}

3. Выполните логическую операцию «исключающее ИЛИ» между заданными числами и запишите в ответе полученное число в шестнадцатеричной системе счисления.

0x36 xor 0x1B

4. Число записано в указанных битах 16-битного целого числа, хранящегося в переменной N. Какие операции нужно выполнить, чтобы записать это число в переменную X? Маски для выполнения логических операций записывайте в шестнадцатеричной системе счисления

биты с 9 по 11

я ничего в этом не понимаю

👇
Ответ:
sashuljalapulja
sashuljalapulja
12.10.2022
Добрый день!

1. Для обнуления указанных битов 16-битного целого числа, нам необходимо использовать операцию логического И с инвертированой маской указанных битов. Маска будет числом, у которого только биты 8, 5 и 7 установлены в значение 1, а остальные биты равны 0. В шестнадцатеричной системе счисления это будет выглядеть как 0x28A2.

2. Для установки указанных битов 16-битного целого числа, нам необходимо использовать операцию логического ИЛИ с маской указанных битов. Маска будет числом, у которого только биты 9, 2 и 3 установлены в значение 1, а остальные биты равны 0. В шестнадцатеричной системе счисления это будет выглядеть как 0x026C.

3. Логическая операция "исключающее ИЛИ" (XOR) выполняется над двумя числами побитово, где результат будет 1 только в случае, если соответствующие биты обоих чисел различаются. В данном случае, операцию нужно выполнить над числами 0x36 и 0x1B.
Выполнение операции XOR:
0 0 1 1 0 1 1 0 (0x36)
XOR 0 0 0 1 1 0 1 1 (0x1B)
________________
0 0 1 0 1 1 0 1 (0x2D)

Полученное число в шестнадцатеричной системе счисления будет 0x2D.

4. Для записи числа в указанные биты 16-битного целого числа, хранящегося в переменной N, нам необходимо выполнить две операции: сначала сбросить указанные биты числа N, а затем установить эти биты равными значениям указанного числа.
Для сброса указанных битов, мы используем операцию логического И с инвертированной маской указанных битов. Маска будет числом, у которого только биты с 9 по 11 установлены в значение 0, а все остальные биты равны 1. В шестнадцатеричной системе счисления это будет выглядеть как 0xF7FF.
Затем, для установки указанных битов, мы используем операцию логического ИЛИ с маской указанных битов, где эти биты числа X будут равны значениям указанного числа. Маска будет числом, у которого только биты с 9 по 11 установлены в значение 1, а все остальные биты равны 0. В шестнадцатеричной системе счисления это будет выглядеть как 0x0700.
Полученное число X будет равно результату выполнения следующих операций:
X = (N & 0xF7FF) | 0x0700

Надеюсь, мой ответ был понятен для вас. Если у вас остались какие-либо вопросы, я с радостью на них отвечу!
4,5(64 оценок)
Проверить ответ в нейросети
Это интересно:
Новые ответы от MOGZ: Информатика
Полный доступ к MOGZ
Живи умнее Безлимитный доступ к MOGZ Оформи подписку
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ