Что нужно знать о переводе чисел из одних систем исчисления в другие

Что такое системы счисления

На практике мы регулярно используем числа и проводим различные операции над ними. В привычной нам форме записи чисел используются 10 цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, но существуют и другие способы записи чисел, объединяемые понятием «системы счисления».

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

Различают следующие системы счисления:

Осторожно! Если преподаватель обнаружит плагиат в работе, не избежать крупных проблем (вплоть до отчисления). Если нет возможности написать самому, закажите тут.

  • позиционные;
  • непозиционные.

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

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

Примечание 1

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

Виды систем счисления

Системы счисления классифицируют по количеству цифр, используемых в записи числа: двоичная, десятеричная, восьмеричная и т.д.

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

Основание системы указывают как нижний индекс сразу после закрывающейся скобки.

Пример 1

Запись \({(26)}_{10}\) указывает на число 26 в десятеричной системе счисления, а запись \({(10001)}_2\) — на число 17, представленное в двоичной системе счисления.

Наиболее часто используемые виды:

  • двоичная;
  • восьмеричная;
  • десятеричная;
  • шестнадцатеричная.

Поговорим подробнее о каждой.

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

В двоичной системе любое число представляют в виде последовательной записи нулей и единиц.

В восьмеричной системе, как видно из названия, для записи числе используют восемь цифр: 0, 1, 2, 3, 4, 5, 6, 7.

При задании числа в шестнадцатеричной системе счисления используют цифры от 0 до 9, а также латинские буквы от A до F, где A обозначает число 10 в десятеричной системе, B — число 11 и т.д.

Примечание 2

Латинские буквы применяют для представления числа в любой системе счисления, чье основание больше 10. Например, в двенадцатеричной системе применяют буквы A и B.

Двоичная, восьмеричная и шестнадцатеричная системы находят широкое применение в программировании.

Рассмотрим правила последовательного счета чисел, справедливые для различных систем счисления.

Сначала мы перебираем имеющийся в данной системе набор цифр в порядке возрастания: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Затем увеличиваем разряд числа и обнуляем младший, в случае десятеричной системы получим число 10. Дальнейшая последовательность аналогична: в младшем разряде числа перебираем все цифры, увеличиваем разрядность и обнуляем младшие разряды.

В случае двоичной системы. Перебираем две цифры: \({(0)}_2={(0)}_{10}\) и \({(1)}_2={(1)}_{10}\). Потом увеличиваем разрядность, обнуляем младший разряд и перебираем 0 и 1 на позиции младшего разряда: \({(10)}_2={(2)}_{10}\) и \({(11)}_2={(3)}_{10}\). Повторяем последовательность: \({(100)}_2={(4)}_{10}; {(101)}_2={(5)}_{10}; {(110)}_2={(6)}_{10}; {(111)}_2={(7)}_{10}\) и т.д.

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

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

Рассмотрим, как переводить числа, записанные в одной системе счисления в другую. Начнем с целых чисел.

Чтобы перевести число, записанное в десятеричной системе счисления, в систему с основанием k используют следующий алгоритм:

  1. Число делят на основание новой системы, получаемые частные также делят на k. Деление выполняют, пока частное не станет равным 0.
  2. Полученные в результате деления остатки записывают в обратном порядке, начиная с последнего.

Для обратного перевода числа B, записанного цифрами \(b_0, b_1, … b_n\) (n — разрядность числа B) в системе счисления с основанием k, в десятеричную используют формулу:

Формула 1

\({(B)}_{10}=b_{n-1}\cdot k^{n-1}+b_{n-2}\cdot k^{n-2}+...+b_0\cdot k^0\)

Перевод числа из системы счисления с основанием k в систему с основанием q осуществляют по следующему правилу:

Правило 1

Число из k-ой системы переводят в десятеричную, а затем получившееся десятеричное число переводят в систему с основанием q.

Вышеуказанное правило справедливо как для целых, так и для дробных чисел.

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

Правило 2

Чтобы перевести дробь H из десятеричной системы в другую с основанием k, умножают дробную часть числа H — G на k, затем дробную часть получившегося числа снова умножают на k. Умножение повторяют о тех пор, пока произведение не станет равным нулю или не достигнет требуемой точности. Получившиеся произведения записывают в порядке их получения как десятичную дробь. Целую часть числа H преобразуют аналогично любому целому числу. Результат записывают, соединяя получившиеся в новой системе целую и дробные части.

Правило 3

Для перевода дроби B.A из системы с основанием k в десятичную используют формулу:

Формула 2

\({(B.A)}_{10}=b_{n-1}\cdot k^{n-1}+b_{n-2}\cdot k^{n-2}+...+b_0\cdot k^0+a_1\cdot k^{-1}+...+a_m\cdot k^{-m}\)

где b — цифры в записи целой части дроби;

n — разрядность целой части;

a — цифры в записи дробной части;

m — разрядность дробной части.

Примеры перевода чисел в разных системах счисления

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

Пример 2

Перевести число 4C из шестнадцатеричной системы в троичную.

Решение

Сначала переведем число 4C в десятеричную систему:

\({(4С)}_{16}=4\cdot16^{2-1}+12\cdot16^{2-2}={(76)}_{10}\)

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

\(76/3=25\), в остатке – 1;

\(25/3=8\), в остатке – 1;

\(8/3=2\), в остатке – 2;

\(2/3=0\), в остатке – 2.

Выпишем получившиеся остатки в обратном порядке, получим число 2211.

Ответ: 2211.

Пример 3

Перевести дробь 23,012 из четверичной системы счисления в десятеричную (с точностью до трех знаков после запятой).

Решение

Воспользуемся формулой для перевода:

\({(23,012)}_4=2\cdot4^1+3\cdot4^0+0\cdot4^{-1}+1\cdot4^{-2}+2\cdot4^{-3}=8+3+0,0625+0,0313={(11,094)}_{10}\)

Ответ: 11,094.

Насколько полезной была для вас статья?

У этой статьи пока нет оценок.

Заметили ошибку?

Выделите текст и нажмите одновременно клавиши «Ctrl» и «Enter»