На Горох
Информатика, 11 класс

§ 11. Перевод целых чисел из одной системы счисления в другую

"Информатика (базовый и углублённый уровень)", Гейн А.Г., Сенокосов А.И.

Объяснение темы В оглавлении: § 11. Перевод целых чисел из одной системы счисления в другую

Кратко о теме

Система счисления задаёт, какими цифрами записывают числа и какой вес имеет каждый разряд. Перевод целого числа между системами нужен, чтобы представить одно и то же значение в удобной форме — например, перейти от двоичной записи к десятичной или подготовить число для работы компьютера. В позиционной системе число раскладывают на сумму цифр, умноженных на степени основания. Для обратного перехода применяют деление с остатком, а результат проверяют обратным переводом.

Объяснение темы

Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.

Определения и обозначения

Система счисления — способ записи чисел с помощью определённого набора цифр и правил их использования. Например, в десятичной системе применяются цифры от 0 до 9, а в двоичной — только 0 и 1. Это понятие нужно, чтобы различать запись числа и само его значение.

Основание системы счисления — число, показывающее количество цифр в системе и вес каждого разряда. Его обозначают, например, нижним индексом: (101)₂ — запись в системе с основанием 2. Основание позволяет понять, какие цифры допустимы и как вычислять значение записи.

Позиционная запись числа — запись, в которой значение цифры зависит от её положения и соответствующей степени основания. Так, цифра 5 в числе 50₁₀ означает пять десятков, а в числе 5₁₀ — пять единиц. Это правило позволяет представить запись как сумму вкладов отдельных цифр.

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

Как это устроено

В позиционной записи каждый разряд имеет вес, равный степени основания. Поэтому цифра в этом разряде показывает, сколько раз такой вес входит в число. Складывая вклады всех цифр, получаем значение всей записи: (aₙ…a₁a₀)ᵦ = aₙ·bⁿ + … + a₁·b + a₀·b⁰.

Чтобы перевести запись в десятичную систему, заменяют каждый разряд его весом и находят сумму. Это работает потому, что десятичная запись тоже выражает число через разряды, только с основанием 10. Например, нулевая цифра даёт нулевое слагаемое, но её позиция всё равно важна: цифры слева от неё относятся к более высоким степеням.

При переводе из десятичной системы в систему с основанием b используют последовательное деление на b. Деление показывает, сколько полных групп по b содержится в числе, а остаток показывает число единиц, не вошедших в эти группы. Повторяя деление для частного, мы последовательно определяем цифры всё более высоких разрядов.

Остатки читают в обратном порядке, потому что первый остаток — это количество единиц нового основания, то есть младшая цифра. Остаток следующего деления определяет следующий разряд, имеющий вес b, а более поздние — ещё более высокие разряды. Поэтому порядок получения остатков противоположен порядку записи числа слева направо.

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

Способы перевода целых чисел между системами счисления

Направление переводаОсновной приёмПорядок действийЧто означают полученные цифрыПроверка результата
Из любой системы в десятичнуюРазложение по степеням основанияУмножить каждую цифру на вес её разряда и сложить результаты.Слагаемые показывают вклад разрядов в значение числа.Сверить сумму с обратным переводом или оценить её по разрядам.
Из десятичной системы в систему с основанием bПоследовательное деление на bДелить на b, затем делить полученные частные, пока частное не станет 0.Остатки — цифры разрядов, от младшего к старшему.Разложить запись по степеням b и сравнить значение с исходным.
Перевод между двумя недесятичными системами через десятичнуюДва последовательных преобразованияСначала разложить исходную запись, затем разделить десятичное значение на новое основание.На первом шаге получается десятичное значение, на втором — цифры новой записи.Выполнить обратный перевод и сравнить значения.
Перевод между двоичной, восьмеричной и шестнадцатеричной системами группировкой разрядовГруппировка двоичных разрядовРазбить двоичную запись справа налево по 3 разряда для основания 8 или по 4 для основания 16.Каждая группа соответствует одной цифре восьмеричной или шестнадцатеричной записи.Перевести обе записи в десятичную систему и сравнить.

Сначала определите направление перевода и выберите соответствующий приём. Если прямая группировка не подходит, используйте десятичную систему как промежуточный этап. Проверка должна подтвердить, что обе записи обозначают одно и то же значение.

Разбор задач

Перевести число (101101)₂ в десятичную систему

В двоичной записи разряды справа налево имеют веса 2⁰, 2¹, 2² и далее. Нулевые разряды тоже учитываются, хотя их вклад равен нулю. Раскладываем число и складываем ненулевые слагаемые.

  1. Запишем веса разрядов: (101101)₂ = 1·2⁵ + 0·2⁴ + 1·2³ + 1·2² + 0·2¹ + 1·2⁰.
  2. Вычислим: 32 + 0 + 8 + 4 + 0 + 1 = 45.
  3. Запишем результат с указанием основания: 45₁₀.

Ответ: (101101)₂ = 45₁₀. Такой способ удобен тем, что значение каждой цифры определяется её разрядом, а не только самой цифрой.

Перевести число 347₁₀ в восьмеричную систему

Нужно получить цифры основания 8. Деление на 8 выделяет младший разряд через остаток, а частное сохраняет оставшуюся часть числа. Продолжим деления, пока частное не станет нулём.

  1. Делим 347 на 8: 347 = 43·8 + 3. Первый остаток — 3.
  2. Делим частное 43: 43 = 5·8 + 3. Следующий остаток — 3.
  3. Делим 5: 5 = 0·8 + 5. Остатки снизу вверх дают запись 533₈.

Ответ: 347₁₀ = 533₈. Проверим: 5·8² + 3·8 + 3 = 320 + 24 + 3 = 347.

Перевести число (2A3)₁₆ в пятеричную систему и выполнить обратную проверку

Напрямую делить шестнадцатеричную запись на 5 неудобно, поэтому сначала найдём её десятичное значение. В шестнадцатеричной системе A означает 10. Затем применим деление с остатком на новое основание.

  1. Разложим запись: (2A3)₁₆ = 2·16² + 10·16 + 3 = 512 + 160 + 3 = 675₁₀.
  2. Делим на 5: 675 = 135·5 + 0; 135 = 27·5 + 0; 27 = 5·5 + 2; 5 = 1·5 + 0; 1 = 0·5 + 1.
  3. Читаем остатки снизу вверх и получаем (10200)₅.
  4. Проверяем: (10200)₅ = 1·5⁴ + 2·5² = 625 + 50 = 675. Десятичное значение совпало с исходным.

Ответ: (2A3)₁₆ = (10200)₅. Обратная проверка показывает, что преобразование сохранило значение числа.

Типичные ошибки

Недопустимая цифра. Восьмеричная запись не может содержать цифру 8, потому что её допустимые цифры — от 0 до 7. Ошибку допускают, когда переносят цифру из десятичной записи, не проверяя основание. Проверьте каждую цифру: она должна быть меньше основания.

Остатки читают сверху вниз. Так младший разряд ошибочно становится старшим. Это происходит потому, что остатки записывают по мере вычислений и принимают этот порядок за порядок цифр числа. Проверьте, что первый найденный остаток стоит справа, и прочитайте список снизу вверх.

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

Основание путают со значением числа. Запись 101₂ — не десятичное число 101, а число, записанное двоичными цифрами. Путаница возникает, когда основание не указывают или не учитывают нижний индекс. Переведите запись через степени основания: 101₂ = 1·2² + 0·2 + 1 = 5₁₀.

Связь с другими темами

Для перевода нужны степени натуральных чисел, деление с остатком и понимание позиционной записи. Эти знания помогают вычислить веса разрядов и определить цифры новой записи. Дальше тема пригодится при изучении представления данных в памяти компьютера и работе с двоичной, восьмеричной и шестнадцатеричной системами. Оба основных приёма — разложение по степеням и последовательное деление — представляют собой пошаговые алгоритмы.

Что запомнить

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

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

Почему остатки при делении нужно читать снизу вверх?

Первый остаток показывает цифру младшего разряда — разряда единиц нового основания. Следующие остатки соответствуют разрядам всё большего веса, поэтому записывать их нужно в обратной последовательности.

Можно ли переводить число сразу из одной недесятичной системы в другую?

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

Как понять, какие цифры разрешены в системе с данным основанием?

Допустимы цифры от 0 до b − 1, где b — основание системы. Например, в системе с основанием 8 используются цифры от 0 до 7, а в шестнадцатеричной после 9 применяют A, B, C, D, E и F.

Зачем при переводе раскладывать число по степеням основания?

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

Как проверить, что результат перевода получен правильно?

Переведите полученную запись обратно в исходную систему или сначала вычислите её десятичное значение. Если оно совпадает со значением исходного числа, перевод выполнен верно.

Спросить по теме параграфа

§ 11. Перевод целых чисел из одной системы счисления в другую

Эта же тема в других учебниках

Учебник

Оглавление →
Предмет
Информатика
Класс
11 класс
Учебник
"Информатика (базовый и углублённый уровень)", Гейн А.Г., Сенокосов А.И.