ГДЗ по информатике, 10 класс, Поляков, номер 28.20: Операции с вещественными числами
Информатика (в 2 частях); углубленное обучение — Поляков К.Ю., Еремин Е.А.
Екатерина Новикова, методист по информатике Шпаргача обновлено 12 сентября 2026
Условие
С помощью какой маски можно выделить знаковый бит числа, хранящегося в формате single?
Номер как в учебнике. Условие — полный пересказ редакции: те же пункты, числа и факты, не цитата из книги.
Пошаговое решение
Для решения задачи необходимо вспомнить структуру представления вещественных чисел в формате single (одинарная точность) согласно стандарту IEEE 754.
Шаг 1. Анализ структуры числа формата single
Число в формате single занимает 32 бита и состоит из трёх полей:
- Знаковый бит (S): 1 бит, расположенный в самом старшем разряде (разряд 31, если нумеровать от 0 до 31). Он определяет знак числа: 0 для положительного, 1 для отрицательного.
- Порядок (E): 8 бит.
- Мантисса (M): 23 бита.
Схема расположения битов выглядит так:
| Разряды | 31 | 30--23 | 22--0 |
|---|---|---|---|
| Поле | Знак (S) | Порядок (E) | Мантисса (M) |
Шаг 2. Принцип работы маски
Маска — это двоичное число той же разрядности, что и исходное данные. Для выделения конкретного бита или группы битов используется логическая операция И (AND).
Чтобы выделить только знаковый бит, нужно составить маску, у которой:
- в позиции знакового бита стоит единица;
- во всех остальных позициях стоят нули.
При выполнении операции XANDM все биты числа X, кроме тех, где в маске M стоит 1, обнулятся. Таким образом, мы сохраним значение только знакового бита.
Шаг 3. Формирование маски
Так как формат single имеет длину 32 бита, а знаковый бит находится в самом старшем разряде (разряд 31), то маска должна иметь вид:
M=1·231+0·230+0/21+0/20В двоичном виде это будет число, состоящее из одной единицы слева и тридцати нулей справа:
Mbin=100000000000000000000000000000002Переведём эту двоичную запись в шестнадцатеричную систему счисления, так как маски обычно записывают именно в этом виде для удобства.
Разобьём на тетрады (по 4 бита):
100000000000000000000000000000002 8000000016Итак, маска равна 8000000016.
Шаг 4. Проверка
Пусть у нас есть число x, хранящееся в формате single . Предположим, оно отрицательное, тогда его знаковый бит равен 1. Допустим, остальные биты произвольны, например, все нули (это не нормализованное число, но для проверки логики маски подходит).
Битовое представление x: 1000...00002.
Маска M: 1000...00002.
Операция И:
xANDM=1000...00002AND1000...00002=1000...00002Результат содержит только значение знакового бита.
Если бы число было положительным (0000...00002), результат был бы 0000...00002.
Логика верна. Маска действительно изолирует старший бит.
Маска: 8000000016
Формат single (IEEE 754) занимает 32 бита. Знаковый бит - самый старший (31-й). Чтобы выделить его операцией AND, нужна маска с единицей в 31-м разряде и нулями в остальных. В hex это 80000000.
Как решение?
Двойная оценка: понятность и подробность. Можно выбрать одно или оба.
У вас другое условие?
Загрузите фото — учтём ваши числа и редакцию.
Частые вопросы
Это точный номер 28.20 из моего учебника?
Номер совпадает с учебником «Информатика (в 2 частях); углубленное обучение», Поляков К.Ю., Еремин Е.А.. Формулировка — пересказ редакции, не дословная цитата. Если в вашей редакции другие числа — загрузите фото.
Какой ответ в задании 28.20?
Краткий ответ: Маска: 80000000_16.
Как пользоваться этим разбором?
Сначала прочитайте условие и чертёж, затем шаги решения по порядку и сверьте свой ход с кратким ответом внизу.
Какой учебник имеется в виду?
«Информатика (в 2 частях); углубленное обучение», Поляков К.Ю., Еремин Е.А.. Проверьте часть, год и автора на обложке. Тема в учебнике: § 28. Операции с вещественными числами.
Можно ли списать ответ без решения?
Лучше сначала решить самостоятельно, а разбор использовать для проверки хода и поиска ошибки.