10 класс Хранение в памяти вещественных чисел § 27. Хранение в памяти вещественных чисел

ГДЗ по информатике, 10 класс, Поляков, номер 27.20: Хранение в памяти вещественных чисел

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

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

Условие

Объяснить, почему логический сдвиг не подходит для деления на два отрицательных чисел, и описать принцип работы арифметического сдвига.

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

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

В данном задании требуется разобраться в особенностях работы с целыми числами в двоичной системе счисления при выполнении операции деления на два. Мы рассмотрим, почему стандартный логический сдвиг дает неверные результаты для отрицательных чисел и как эта проблема решается с помощью арифметического сдвига.

Шаг 1. Анализ проблемы логического сдвига для отрицательных чисел

Логический сдвиг (logical shift) — это операция перемещения всех битов числа влево или вправо. При сдвиге вправо освободившиеся старшие разряды всегда заполняются нулями. Эта операция эквивалентна делению на 2 без остатка только для неотрицательных чисел.

Рассмотрим пример с использованием дополнительного кода (стандартное представление отрицательных чисел в памяти компьютера). Пусть у нас есть число -4. В 8-битном представлении оно записывается так:

  • Число +4: 0000 01002
  • Инверсия: 1111 10112
  • Добавление единицы (-4): 1111 11002

Если мы применим логический сдвиг вправо к этому числу, то все биты сместятся на одну позицию вправо, а самый левый (старший) бит будет заменен на 0:

Было: 1111 11002 Стало: 0111 11102

Получившееся число 0111 11102 в десятичной системе равно 64+32+16+8+4+2=126. Очевидно, что 126≠-2. Таким образом, логический сдвиг разрушает знак числа, превращая отрицательное число в положительное, что делает его непригодным для деления на два.

Шаг 2. Принцип работы арифметического сдвига

Чтобы корректно делить на два отрицательные числа, используется арифметический сдвиг вправо . Его ключевое отличие от логического состоит в том, как заполняется освобождающийся старший разряд.

При арифметическом сдвиге вправо:

  1. Все биты смещаются вправо.
  2. Освободившийся старший разряд заполняется копией предыдущего значения знакового бита (самого левого бита).

Это сохраняет знак числа неизменным. Вернемся к нашему примеру с числом -4 (1111 11002). Знаковый бит равен 1.

Применяем арифметический сдвиг вправо:

Было: 1111 11002 Стало: 1111 11102

Здесь новый старший бит стал 1, так как старый знаковый бит был 1. Получившееся число 1111 11102 является представлением числа -2 в дополнительном коде:

  • Инвертируем: 0000 00012
  • Добавляем 1: 0000 00102=2
  • Итог: -2

Таким образом, арифметический сдвиг вправо корректно выполняет операцию целочисленного деления на 2 (x/2), сохраняя знак исходного числа.

Шаг 3. Проверка на другом примере и вывод

Проверим работу арифметического сдвига на числе -5. В 8-битном коде:

  • +5: 0000 01012
  • -5: 1111 10112

Арифметический сдвиг вправо (1111 10112→1111 11012):

Новое число 1111 11012 соответствует -3:

  • Инверсия: 0000 00102
  • +1: 0000 00112=3
  • Итог: -3

Математически -5/2=-2.5. Целочисленное деление с округлением вниз (floor) дает -3. Арифметический сдвиг реализует именно такое поведение.

Вывод: Логический сдвиг не подходит для деления отрицательных чисел, так как он заполняет старший разряд нулем, что меняет знак числа на положительный. Арифметический сдвиг копирует знаковый бит в старший разряд, что позволяет сохранить знак числа и получить правильный результат целочисленного деления на степень двойки.

Ответ

а) Логический сдвиг заполняет освободившийся старший разряд нулем, что приводит к изменению знака отрицательного числа на положительный и получению неверного результата.

б) Арифметический сдвиг заполняет освободившийся старший разряд копией знакового бита, что сохраняет знак числа и обеспечивает корректное целочисленное деление на два.

Разобрано влияние заполнения старшего бита на знак числа в дополнительном коде. Приведены примеры для чисел -4 и -5.

Как решение?

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

Подробность

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

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

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

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

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

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

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

Краткий ответ: а) Логический сдвиг заполняет освободившийся старший разряд нулем, что приводит к изменению знака отрицательного числа на положительный и получению неверного результата. б) Арифметический сдвиг заполняет освободившийся старший разряд копией знакового бита, что сохраняет знак числа и обеспечивает корректное целочисленное деление на два.

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

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

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

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

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

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

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

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

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

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

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