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

ИИ-обзор статьи
Перевод чисел между системами счисления — это процесс преобразования записи числа из одной позиционной системы счисления в другую с использованием специальных математических алгоритмов.
Разложение по степеням основания
Число в произвольной системе счисления представляется в виде многочлена, где каждая цифра умножается на основание системы, возведённое в степень, соответствующую позиции цифры, отсчитываемой справа налево. Для дробных разрядов показатель степени отрицательный; сумма произведений даёт значение числа в десятичной системе.
Алгоритм последовательного деления
Для перевода целой части десятичного числа в другую систему его последовательно делят на основание целевой системы до получения остатка, меньшего основания. Остатки от деления записывают в обратном порядке, начиная с последнего.
Перевод дробей умножением на основание
Дробная часть десятичного числа переводится в другую систему последовательным умножением на основание целевой системы. Целые части произведений, начиная с первого, образуют дробь в новой системе; умножение повторяется до получения целого числа или необходимой точности.
Перевод через триады и тетрады
Для перевода из двоичной в восьмеричную систему число разбивают на триады, начиная с младшего разряда, дополняя старшую группу нулями, и каждую триаду заменяют восьмеричной цифрой. Для перевода в шестнадцатеричную аналогично используют тетрады.
Универсальный перевод через двоичную систему
Цифры исходной системы заменяются на эквивалентные двоичные комбинации, затем полученное число группируется в требуемые комбинации (пары, триады, тетрады), начиная с правого края. Неполная левая группа дополняется нулями, после чего комбинации заменяются цифрами целевой системы.

Перево́д чи́сел ме́жду систе́мами счисле́ния — процесс преобразования чисел в десятичную систему счисления с последующим переводом в любую другую систему счисления (например, восьмеричную, шестнадцатеричную, двоичную).

Правила перевода чисел из любой системы счисления в десятичную

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

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

где:

  • — число в -й системе счисления
  • — основание системы
  • — цифра числа
  • и — число целых и дробных разрядов соответственно.

Например, переведём двоичное число один ноль один в десятичное:

Для дробных разрядов  — отрицательный.

Пример:

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

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

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

  • Пример, перевод из десятичной системы счисления в двоичную числа :

Полученные остатки записываем в обратном порядке:

  • Пример, перевод из десятичной системы счисления в восьмеричную числа :

Полученные остатки записываем в обратном порядке:

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

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

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

Пример, перевод десятичной дроби :

  • в двоичную:

x

x

x

x

Результат:

  • в восьмеричную:

x

x

Результат:

  • в шестнадцатеричную:

x

Результат:

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

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

Двоичные триады 000 001 010 011 100 101 110 111
Восьмиричные цифры 0 1 2 3 4 5 6 7

Пример:

Двоичные триады 001 001 011 101 111
Восьмиричные цифры 1 1 3 5 7

Результат:

Пример:

Двоичные триады 010 010 111 , 011 110
Восьмиричные цифры 1 2 7 , 3 6

Результат:

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

Двоичные тетрады 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
Шестнадцатеричные цифры 0 1 2 3 4 5 6 7 8 9 A B C D E F

Пример:

Двоичные тетрады 0001 0010 1110 1111
Шестнадцатеричные цифры 1 2 E F

Результат:

Пример:

Двоичные тетрады 0010 0101 , 1101 1110
Шестнадцатеричные цифры 2 5 , D E

Результат:

Правила перевода чисел из любой системы счисления в двоичную

Для перевода числа из восьмеричной системы счисления в двоичную следует каждую цифру заменить эквивалентной ей двоичной триадой.

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

Правила перевода чисел из любой системы счисления через двоичную

Цифры числа исходной системы счисления заменяются (слева направо) на эквивалентную комбинацию цифр двоичной системы счисления. Полученное число двоичной системы счисления разбивается на комбинацию цифр, начиная с цифры единиц (самой правой цифры), эквивалентную числу требуемой системы счисления (пары, триады, тетрады ...). Последняя (самая левая) комбинация может быть неполной, тогда в неё слева добавляется цифра 0 (одна, две или три цифры). Затем полученные комбинации заменяются на соответствующие цифры требуемой системы счисления.

Пример: перевод числа из восьмеричной системы счисления в шестнадцатеричную:


Восьмиричные цифры 1 1 3 5 7
Двоичные триады 0 0 1 0 0 1 0 1 1 1 0 1 1 1 1
Двоичные тетрады 0 0 0 1 0 0 1 0 1 1 1 0 1 1 1 1
Шестнадцатеричные цифры 1 2 E F

См. также

Литература

Категории