Открыть сервисСервис

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

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

Основа метода

Любое позиционное число можно представить в виде суммы произведений цифр на соответствующие степени основания системы. Если число записано в системе с основанием b и имеет вид:

dₙdₙ₋₁...d₁d₀.d₋₁d₋₂...

то его значение в десятичной системе вычисляется по формуле:

N = dₙ·bⁿ + dₙ₋₁·bⁿ⁻¹ + ... + d₁·b¹ + d₀·b⁰ + d₋₁·b⁻¹ + d₋₂·b⁻² + ...

Здесь dᵢ — цифры числа (для оснований больше 10 используются буквы: A=10, B=11, C=12, D=13, E=14, F=15), а степени основания определяют разрядный вес каждой цифры.

Перевод целой части

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

Пример 1. Перевод двоичного числа 11011₂ в десятичную:

  • 1·2⁴ = 16
  • 1·2³ = 8
  • 0·2² = 0
  • 1·2¹ = 2
  • 1·2⁰ = 1

Сумма: 16 + 8 + 0 + 2 + 1 = 27₁₀.

Пример 2. Перевод восьмеричного числа 347₈:

  • 3·8² = 192
  • 4·8¹ = 32
  • 7·8⁰ = 7

Сумма: 192 + 32 + 7 = 231₁₀.

Пример 3. Перевод шестнадцатеричного числа 1A3F₁₆:

  • 1·16³ = 4096
  • A·16² = 10·256 = 2560
  • 3·16¹ = 48
  • F·16⁰ = 15·1 = 15

Сумма: 4096 + 2560 + 48 + 15 = 6719₁₀.

Перевод дробной части

Дробная часть переводится аналогично, но степени основания становятся отрицательными: первая цифра после запятой умножается на b⁻¹, вторая — на b⁻² и так далее.

Пример. Перевод двоичного числа 101.11₂:

  • 1·2² = 4
  • 0·2¹ = 0
  • 1·2⁰ = 1
  • 1·2⁻¹ = 0.5
  • 1·2⁻² = 0.25

Сумма: 4 + 0 + 1 + 0.5 + 0.25 = 5.75₁₀.

Альтернативный метод «на столбиком» (последовательное умножение)

Для целой части существует эквивалентный итеративный алгоритм, удобный для вычислений от руки и для реализации в программах:

  1. Запомнить результат res = 0.
  2. Для каждой цифры числа слева направо: res = res·b + dᵢ.
  3. После обработки всех цифр res содержит значение в десятичной системе.

Пример. Число 11011₂:

  • res = 0·2 + 1 = 1
  • res = 1·2 + 1 = 3
  • res = 3·2 + 0 = 6
  • res = 6·2 + 1 = 13
  • res = 13·2 + 1 = 27

Результат тот же: 27₁₀. Этот метод особенно практичен, поскольку не требует вычисления степеней.

Особые случаи

Перевод из двоичной системы

Двоичные числа переводятся в десятичные наиболее часто — это основа представления данных в компьютерах. Краткая таблица степеней двойки ускоряет вычисления:

Степень2⁰2¹2²2³2⁴2⁵2⁶2⁷2⁸2⁹2¹⁰
Значение12481632641282565121024

Перевод из шестнадцатеричной системы

Поскольку 16 = 2⁴, каждая шестнадцатеричная цифра соответствует ровно четырём двоичным. Это позволяет переводить двоичные числа в шестнадцатеричные и обратно через промежуточное десятичное представление или напрямую, группируя биты по четыре.

Отрицательные числа

Знак числа не зависит от системы счисления и переносится в результат без изменений. Метод применяется к модулю числа, после чего восстанавливается знак.

Проверка результата

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

Применение

Перевод между системами счисления применяется в информатике при работе с файловыми форматами, сетевыми адресами (IPv6 записывается в шестнадцатеричном виде), цветовыми моделями (коды цветов HTML) и машинном коде. В учебных целях перевод между системами входит в программы курса информатики и является типовой задачей на ЕГЭ по информатике.

Источники

  • Виленкин Н. Я., Жохов В. И. «Информатика. 7 класс»
  • Еремеева В. С., Захарова И. Ю. «Информатика. 8 класс»
  • Русаков А. Г. «Информатика. Базовый курс»
  • Кларк К., Пауэлл Д., Токаз С. «Архитектура компьютера»
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru