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

Дано действительное число x, ε (ε> 0). описать и вычислить функцию

Показать ответ
Ответ:
Larisa150301
Larisa150301
04.11.2021 01:34
Берем третьи байты и переводим в двоичную систему счисления:добавим в начале нулей, чтобы получилось 8 цифр.   ←    ←  найдем маску. запишем с столбик. если элементы одинаковые, ставим соответствующее число, если элементы разные, ставим крестик: 00000101 00011101 000xx101    ← маска т.к. по правилу в маске, сначала идут единицы, переместим их в начало: 11xx0000 если бы по условию, надо было бы найти наименьшее возможное значение, то мы бы заменяли крестики(х) на нули. т.к. по условию необходимо наибольшее возможное значение, подставляем вместо крестиков(x), единицу и переведем в десятичную систему счисления:
0,0(0 оценок)
Ответ:
lolo105
lolo105
14.05.2022 06:40

Код в приложении.

Пояснения:

Посмотрим, как же нам решить задачу. Сначала, поймём как обнулить бит. Бит можно обнулить если использовать логическое И с нулём. Значит, нам нужно использовать логическое И на нужном бите. Как же это сделать? В С++ есть побитовые операции между двумя числами, но побитовое И (&) применяется между всеми битами двух чисел, т.е.

101\ \& \ 110 = (1 \&1)(0\& 1)(1 \& 0) = 100

Заметим, что

a \& 0 = 0\\a \& 1 = a

Числа в С++ с фиксированной разрядностью, т.е. битов всегда определённое кол-во. Исходя из условий задачи, тут нужен int - 32-битный тип.

Тогда, чтобы обнулить нужный бит, нам нужно использовать побитовое И с таким числом, что все его биты, кроме нужного, равны 1.

Добиться этого мы сможем следующим образом. Сдвинем 1 влево на k бит и получим такое число, что все биты, кроме k-го равны 0, а k-ый равен 1, и используем побитовую инверсию (~), т.е. инвертируем каждый бит в числе.

Получив нужное число, выполняем побитовое И и обнуляем k-ый бит.

Как работают примеры:

n = 21 = 10101, \ k = 1\\n \& \sim(1

И второй пример:

n = 21 = 10101, \ k = 2\\n \& \sim (1


Условие Даны два числа N и K. Требуется изменить число N так, чтобы в K-м бите этого числа в двоично
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота