Что нужно знать о переводе чисел из одних систем исчисления в другие
Что такое системы счисления
На практике мы регулярно используем числа и проводим различные операции над ними. В привычной нам форме записи чисел используются 10 цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, но существуют и другие способы записи чисел, объединяемые понятием «системы счисления».
Системой счисления называют форму представления чисел.
Различают следующие системы счисления:
Осторожно! Если преподаватель обнаружит плагиат в работе, не избежать крупных проблем (вплоть до отчисления). Если нет возможности написать самому, закажите тут.
- позиционные;
- непозиционные.
Позиционной называют систему счисления, в которой значение каждой цифры в записи числа зависит от ее разряда, то есть позиции.
В непозиционной системе счисления значение цифры в записи числа не зависит от ее положения. Примером непозиционной системы можно считать алфавитную систему счисления.
В дальнейшем мы будем рассматривать только позиционные системы счисления.
Виды систем счисления
Системы счисления классифицируют по количеству цифр, используемых в записи числа: двоичная, десятеричная, восьмеричная и т.д.
Основанием системы счисления называют число, равное количеству цифр, используемых для представления чисел в данной системе.
Основание системы указывают как нижний индекс сразу после закрывающейся скобки.
Запись \({(26)}_{10}\) указывает на число 26 в десятеричной системе счисления, а запись \({(10001)}_2\) — на число 17, представленное в двоичной системе счисления.
Наиболее часто используемые виды:
- двоичная;
- восьмеричная;
- десятеричная;
- шестнадцатеричная.
Поговорим подробнее о каждой.
Десятеричная система хорошо известна, именно ее мы используем в обычной жизни. В этом случае любое число представляют набором цифр от 0 до 9.
В двоичной системе любое число представляют в виде последовательной записи нулей и единиц.
В восьмеричной системе, как видно из названия, для записи числе используют восемь цифр: 0, 1, 2, 3, 4, 5, 6, 7.
При задании числа в шестнадцатеричной системе счисления используют цифры от 0 до 9, а также латинские буквы от A до F, где A обозначает число 10 в десятеричной системе, B — число 11 и т.д.
Латинские буквы применяют для представления числа в любой системе счисления, чье основание больше 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 используют следующий алгоритм:
- Число делят на основание новой системы, получаемые частные также делят на k. Деление выполняют, пока частное не станет равным 0.
- Полученные в результате деления остатки записывают в обратном порядке, начиная с последнего.
Для обратного перевода числа B, записанного цифрами \(b_0, b_1, … b_n\) (n — разрядность числа B) в системе счисления с основанием k, в десятеричную используют формулу:
\({(B)}_{10}=b_{n-1}\cdot k^{n-1}+b_{n-2}\cdot k^{n-2}+...+b_0\cdot k^0\)
Перевод числа из системы счисления с основанием k в систему с основанием q осуществляют по следующему правилу:
Число из k-ой системы переводят в десятеричную, а затем получившееся десятеричное число переводят в систему с основанием q.
Вышеуказанное правило справедливо как для целых, так и для дробных чисел.
Однако перевод дробных чисел из десятеричной системы в любую другую и наоборот отличается от подобных операций для целых чисел. Для перевода дробных чисел пользуются следующими правилами:
Чтобы перевести дробь H из десятеричной системы в другую с основанием k, умножают дробную часть числа H — G на k, затем дробную часть получившегося числа снова умножают на k. Умножение повторяют о тех пор, пока произведение не станет равным нулю или не достигнет требуемой точности. Получившиеся произведения записывают в порядке их получения как десятичную дробь. Целую часть числа H преобразуют аналогично любому целому числу. Результат записывают, соединяя получившиеся в новой системе целую и дробные части.
Для перевода дроби B.A из системы с основанием k в десятичную используют формулу:
\({(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 — разрядность дробной части.
Примеры перевода чисел в разных системах счисления
Приведем несколько примеров на перевод чисел в разные системы счисления. Для закрепления материала можно попробовать решить их самостоятельно, сверив ответы в конце каждого примера.
Перевести число 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.
Перевести дробь 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»
Нашли ошибку?
Текст с ошибкой:
Расскажите, что не так