10 класс Компьютерная арифметика § 4. Компьютерная арифметика

ГДЗ по информатике, 10 класс, Поляков, номер 4.18: Компьютерная арифметика

Информатика (в 2 частях); углубленное обучение — Поляков К.Ю., Еремин Е.А.

Мария Волкова, методист по информатике Шпаргача обновлено 12 сентября 2026

Условие

Для переменной типа `single` определите логические операции и маски для

а) выделения мантиссы (отбрасывания порядка и знакового бита)

б) восстановления «скрытой единицы» в знаковой части.

Номер как в учебнике. Условие — полный пересказ редакции: те же пункты, числа и факты, не цитата из книги.

Пошаговое решение

В данном задании рассматривается формат чисел с плавающей запятой типа single (одинарной точности) согласно стандарту IEEE 754. Этот формат занимает 32 бита и состоит из трёх полей: знакового бита (1 бит), поля порядка/экспоненты (8 битов) и поля мантиссы/дроби (23 бита).

Шаг 1. Анализ структуры числа single и задача а)

Структура 32-битного числа выглядит так:

ПолеЗнак (S)Порядок (E)Мантисса (M)
Количество битов1823
Позиции (с нуля справа)3130--2322--0

Задача а): Выделение мантиссы.

Чтобы выделить только поле мантиссы, необходимо обнулить старшие 9 битов (знаковый бит и 8 битов порядка). Для этого используется логическая операция И (AND) с маской, в которой младшие 23 бита равны 1, а старшие 9 битов равны 0.

Маска в двоичном виде:

0000 0000 09 нулей 1111 1111 1111 1111 1111 1111 111123 единиц

Переведём эту маску в шестнадцатеричную систему счисления для удобства записи в коде:

  • Старший байт: 0000 0000→0x00
  • Средний байт: 0111 1111→0x7F (так как первый ноль относится к знаку, а следующие 7 единиц — к началу мантиссы? Нет, давайте разобьем строго на 4-битные группы от младшего разряда).

Давайте пересчитаем маску аккуратно, группируя по 4 бита справа налево:

Биты 0--22 равны 1. Биты 23--31 равны 0.

Группировка по 4 бита (от младших к старшим):

  1. Биты 0--3: 11112=F16
  2. Биты 4--7: 11112=F16
  3. Биты 8--11: 11112=F16
  4. Биты 12--15: 11112=F16
  5. Биты 16--19: 11112=F16
  6. Биты 20--23: Здесь нужно быть внимательным. Мантисса занимает биты 0--22. Значит, бит 22 равен 1, а бит 23 (начало экспоненты) равен 0. Группа битов 20--23: 01112=716.
  7. Биты 24--27: 00002=016
  8. Биты 28--31: 00002=016

Таким образом, маска в шестнадцатеричном виде: 0x007FFFFF.

Логическая операция: x & 0x007FFFFF.

Шаг 2. Анализ задачи б) и восстановление скрытой единицы

Задача б): Восстановление «скрытой единицы».

В нормализованных числах формата IEEE 754 перед двоичной точкой всегда подразумевается единица, которая не хранится явно в памяти (экономия бита). Полное значение мантиссы равно 1.M, где M — это хранимые 23 бита дробной части.

Чтобы получить полное числовое значение мантиссы (включая целую часть 1), нужно добавить эту единицу к хранимой дроби. Поскольку хранимая мантисса находится в младших 23 битах, а «скрытая единица» соответствует весу 223 относительно начала поля мантиссы (или просто является старшим разрядом при интерпретации мантиссы как целого числа со сдвигом), то в контексте побитовых операций над 32-битным словом:

Если мы хотим модифицировать само представление или вычислить полную мантиссу как целое число, нам нужно установить бит, соответствующий позиции 23 (если считать от 0 до 22 для дробной части, то единица стоит на месте 23-го разряда веса 20 в нормализованном числе, но в битовой сетке слова она находится сразу после поля мантиссы).

Однако, чаще всего под «восстановлением» понимают получение значения 1+M. В терминах логических операций над битовым полем мантиссы, если мы работаем с изолированным полем мантиссы (как в пункте а), то добавление единицы — это арифметическая операция сложения. Но если речь идет о манипуляции с исходным 32-битным словом, чтобы сделать явной ту единицу, которая «пропущена» в формате хранения, то обычно это делается через сдвиг или установку конкретного бита.

Давайте посмотрим на формулировку «в знаковой части». Это может быть опечатка в условии учебника, имеющая в виду «в значении мантиссы» или «в представлении числа». Скорее всего, имеется в виду формирование полного значения мантиссы.

Если рассматривать задачу как операцию над битовым полем, выделенным в пункте а), то «скрытая единица» имеет вес 223 (если мантисса трактуется как целое число M, то реальная дробь M/2}23, а полная мантисса (223+M)/2}23). Чтобы добавить эту единицу к выделенному полю мантиссы, можно использовать операцию ИЛИ (OR) с маской, содержащей единицу на позиции, соответствующей весу 223.

Но в рамках 32-битного слова позиция 23 занята младшим битом экспоненты. Поэтому прямое применение маски OR к исходному слову некорректно без предварительного выделения мантиссы.

Вероятный смысл задания: определить операцию, которая превращает хранимую дробь M в число 1.M. Если мы уже выделили мантиссу M (биты 0--22), то чтобы получить 1.M в виде целого числа (где 1 — это старший бит), нужно выполнить операцию ИЛИ с константой 223 (в десятичном виде 8388608, в шестнадцатеричном 0x00800000).

Маска для установки скрытой единицы (при работе с выделенной мантиссой):

0x00800000

Двоично это: 0000 0000 1000 0000 0000 0000 0000 0000.

Логическая операция: m | 0x00800000, где m — результат пункта а).

Если же вопрос касается непосредственно исходного слова, то «восстановление» подразумевает понимание того, что реальное значение мантиссы получается прибавлением 1 к дробной части. В контексте компьютерной арифметики и масок, наиболее частый ответ для таких задач — использование операции ИЛИ с маской, устанавливающей нужный бит.

Шаг 3. Проверка и итоговые выводы

Проверим пункт а). Маска 0x007FFFFF оставляет неизменными биты 0--22 и обнуляет биты 23--31. Это корректно выделяет поле мантиссы.

Проверим пункт б). Хранится только дробная часть M. Нормализованное число имеет вид (-1)S·1.M·2E-Bias. Чтобы получить значение 1.M в виде целого числа (для последующих арифметических действий или сравнений), нужно поставить единицу на место, которое было бы старшим битом мантиссы, если бы она была полной. При работе с выделенной мантиссой (которая лежит в младших битах), эта единица должна быть установлена в бит 23 относительно начала слова (если мы считаем, что мантисса выровнена по правому краю). Константа 223 в шестнадцатеричном виде действительно 0x00800000. Операция ИЛИ установит этот бит в 1, не трогая остальные.

Таким образом:

  • а) Операция: И (AND). Маска: 0x007FFFFF.
  • б) Операция: ИЛИ (OR). Маска: 0x00800000 (применяется к результату пункта а).
Ответ

а) Логическая операция И (AND), маска 0x007FFFFF

б) Логическая операция ИЛИ (OR), маска 0x00800000 (применяется к выделенной мантиссе)

Формат single (IEEE 754): 1 бит знака, 8 бит порядка, 23 бита мантиссы. Для выделения мантиссы нужно обнулить старшие 9 бит, используя маску AND с 23 единицами в конце. Скрытая единица в нормализованных числах не хранится, но подразумевается перед двоичной точкой. Чтобы восстановить её в виде целочисленного представления мантиссы (1.M), нужно установить бит с весом 223, используя операцию OR с маской 0x00800000.

Как решение?

Двойная оценка: понятность и подробность. Можно выбрать одно или оба.

Подробность

У вас другое условие?

Загрузите фото — учтём ваши числа и редакцию.

Решить по фото

Частые вопросы

Это точный номер 4.18 из моего учебника?

Номер совпадает с учебником «Информатика (в 2 частях); углубленное обучение», Поляков К.Ю., Еремин Е.А.. Формулировка — пересказ редакции, не дословная цитата. Если в вашей редакции другие числа — загрузите фото.

Какой ответ в задании 4.18?

Краткий ответ: а) Логическая операция И (AND), маска 0x007FFFFF б) Логическая операция ИЛИ (OR), маска 0x00800000 (применяется к выделенной мантиссе).

Как пользоваться этим разбором?

Сначала прочитайте условие и чертёж, затем шаги решения по порядку и сверьте свой ход с кратким ответом внизу.

Какой учебник имеется в виду?

«Информатика (в 2 частях); углубленное обучение», Поляков К.Ю., Еремин Е.А.. Проверьте часть, год и автора на обложке. Тема в учебнике: § 4. Компьютерная арифметика.

Можно ли списать ответ без решения?

Лучше сначала решить самостоятельно, а разбор использовать для проверки хода и поиска ошибки.

Соседние задания

Автор решения: Мария Волкова, методист по информатике Шпаргача.

Дата обновления: 12 сентября 2026.

Источник решения: оригинальное решение редакции Шпаргач.

Номер как в учебнике. Условие — полный пересказ редакции (те же пункты, числа и факты). Решение не копирует текст книги.