ГДЗ по информатике, 10 класс, Поляков, номер 27.21: Хранение в памяти вещественных чисел
Информатика (в 2 частях); углубленное обучение — Поляков К.Ю., Еремин Е.А.
Анна Соколова, преподаватель информатики Шпаргача обновлено 12 сентября 2026
Условие
Вывести правило вычисления результата арифметического сдвига вправо на один разряд для отрицательного нечётного числа. Проверить применимость правила к положительным нечётным числам и упрощение формулы для чётных чисел.
Номер как в учебнике. Условие — полный пересказ редакции: те же пункты, числа и факты, не цитата из книги.
Пошаговое решение
В данном задании требуется проанализировать поведение арифметического сдвига вправо на один разряд для различных типов целых чисел (отрицательные нечётные, положительные нечётные и чётные). Арифметический сдвиг сохраняет знак числа, заполняя освобождающиеся старшие разряды кодом знака.
Шаг 1. Правило вычисления для отрицательного нечётного числа
Рассмотрим отрицательное нечётное число x. В двоичном представлении (дополнительный код) последнее значение бита младшего разряда у нечётных чисел всегда равно 1.
При арифметическом сдвиге вправо на один разряд (x≫1):
- Все биты смещаются в сторону младших разрядов;
- Старший разряд заполняется единицей (так как число отрицательное);
- Младший разряд (равный 1) отбрасывается.
Если бы мы просто делили на 2, то получили бы дробь x/2. Поскольку целочисленное деление в программировании часто округляется к нулю или вниз, важно понять математическую суть операции сдвига.
Для любого целого числа x арифметический сдвиг вправо эквивалентен операции деления с округлением вниз (floor division) по модулю 2. То есть результат равен ⌊x/2⌋.
Проверим это на примере: пусть x=-5. В дополнительном коде (для 4 бит) это 1011. Сдвиг вправо даёт 1101, что соответствует -3.
Вычислим по формуле: ⌊-5/2⌋=⌊-2.5⌋=-3. Результат совпадает.
Правило: Для отрицательного нечётного числа результат арифметического сдвига вправо на один разряд равен частному от деления этого числа на 2, округлённому вниз до ближайшего меньшего целого.
Шаг 2. Проверка применимости правила к положительным нечётным числам
Пусть y — положительное нечётное число. Его старший бит (знак) равен 0. Младший бит равен 1.
При арифметическом сдвиге вправо (y≫1):
- Освободившийся старший разряд заполняется нулём;
- Младший разряд (1) отбрасывается.
Пример: y=5 (0101). Сдвиг вправо даёт 0010, что равно 2.
Применим правило из Шага 1: ⌊5/2⌋=⌊2.5⌋=2. Результат совпадает.
Ещё пример: y=7 (0111). Сдвиг вправо даёт 0011, что равно 3.
Формула: ⌊7/2⌋=⌊3.5⌋=3. Совпадение.
Вывод: Правило «деление на 2 с округлением вниз» универсально и применимо также к положительным нечётным числам. Разница лишь в том, что для положительных чисел округление вниз совпадает с обычным отбрасыванием дробной части (округлением к нулю), так как дробная часть положительна.
Шаг 3. Упрощение формулы для чётных чисел
Рассмотрим любое чётное число z. По определению, оно делится на 2 без остатка. В двоичном представлении младший бит такого числа равен 0.
При арифметическом сдвиге вправо (z≫1):
- Младший бит (0) отбрасывается;
- Значение числа уменьшается ровно в два раза.
Пример: z=6 (0110). Сдвиг вправо даёт 0011, что равно 3.
Формула: ⌊6/2⌋=3. Так как остатка нет, округление не влияет на результат.
Пример с отрицательным чётным числом: z=-6 (1010 в 4-битном коде, точнее ...11111010). Сдвиг вправо даёт ...11111101, что равно -3.
Формула: ⌊-6/2⌋=-3.
Упрощение: Для чётных чисел операция арифметического сдвига вправо на один разряд строго эквивалентна обычному целочисленному делению на 2. Формула ⌊z/2⌋ превращается в простое z/2, так как результат является целым числом.
а) Для отрицательного нечётного числа результат сдвига вправо равен делению на 2 с округлением вниз.
б) Это правило верно и для положительных нечётных чисел (результат тот же).
в) Для чётных чисел формула упрощается до обычного деления на 2 без остатка.
Арифметический сдвиг вправо реализует операцию floor(x/2). Для нечётных чисел это отличается от стандартного C++ деления (которое округляет к нулю) только для отрицательных значений. Для чётных чисел оба способа дают одинаковый результат.
Как решение?
Двойная оценка: понятность и подробность. Можно выбрать одно или оба.
У вас другое условие?
Загрузите фото — учтём ваши числа и редакцию.
Частые вопросы
Это точный номер 27.21 из моего учебника?
Номер совпадает с учебником «Информатика (в 2 частях); углубленное обучение», Поляков К.Ю., Еремин Е.А.. Формулировка — пересказ редакции, не дословная цитата. Если в вашей редакции другие числа — загрузите фото.
Какой ответ в задании 27.21?
Краткий ответ: а) Для отрицательного нечётного числа результат сдвига вправо равен делению на 2 с округлением вниз. б) Это правило верно и для положительных нечётных чисел (результат тот же). в) Для чётных чисел формула упрощается до обычного деления на 2 без остатка.
Как пользоваться этим разбором?
Сначала прочитайте условие и чертёж, затем шаги решения по порядку и сверьте свой ход с кратким ответом внизу.
Какой учебник имеется в виду?
«Информатика (в 2 частях); углубленное обучение», Поляков К.Ю., Еремин Е.А.. Проверьте часть, год и автора на обложке. Тема в учебнике: § 27. Хранение в памяти вещественных чисел.
Можно ли списать ответ без решения?
Лучше сначала решить самостоятельно, а разбор использовать для проверки хода и поиска ошибки.