- •ПОзиционные системы счисления
- •Цель работы
- •Позиционные системы счисления основные понятия
- •Различные типы позиционных систем счисления двоичная система счисления
- •Шестнадцатеричная система счисления
- •Представление чисел в различных системах счисления
- •Соответствие между представлением натуральных чисел в различных псс
- •Выполнение арифметических операций в двоичной системе счисления
- •Сложение
- •Вычитание
- •Умножение
- •Деление
- •Перевод чисел из одной системы счисления в другую
- •Преобразование представления числа из некоторой системы счисления в десятичную
- •Преобразование представления числа из десятичной системы счисления в другую
- •Пробразование целых чисел
- •Преобразование дробных чисел
- •Примерное соответствие между количествами цифр после точки в разных псс
- •Примеры преобразования представления произвольного числа
- •Преобразование между двоичной и шестнадцатеричной системами счисления
- •Вопросы для самоконтроля
- •Упражнения
- •Рекомендуемая литература
- •Содержание
- •ПОзиционные системы счисления
- •654007, Г. Новокузнецк, ул. Кирова,42 Издательский центр СибГиу
Перевод чисел из одной системы счисления в другую
Задача перевода заключается в следующем. Пусть известна запись числа Х в системе счисления с каким либо основанием Р:
pn pn-1 … p1 p0 p-1 p-2 … , (8)
где pi - цифры Р-ичной системы (0 ≤ pi ≤ P-1). Требуется найти запись этого же числа X в ПСС с другим основанием Q:
qs qs-1 … q1 q0 q-1 q-2 …, (9)
где qi – искомые цифры Q-ичной ПСС (0 ≤ qi ≤ Q-1).
Ограничимся случаем положительных чисел, так как перевод отрицательного числа сводится к переводу его модуля и приписыванием к нему знака минус. Рассмотрим два способа перевода числа из одной ПСС в другую.
Преобразование представления числа из некоторой системы счисления в десятичную
Способ на основе представления числа в виде многочлена по степеням основания ПСС (4). Его применяют для преобразования из Р-ичной в десятичную ПСС, хотя принципиально он применим для преобразования из любой ПСС в любую ПСС. Согласно (4) и (8) можно записать:
. (9)
Для получения 10-ого изображения числа Х необходимо все цифры pi и основание ПСС число Р в (9) заменить их изображениями в новой 10-ной ПСС и выполнить арифметические операции в 10 - ной ПСС.
Пример 1. Перевести число Х = 1011012 в десятичную ПСС. Согласно изложенному правилу
X =1011012 =1∙25 + 0∙24 + 1∙23 + 1∙22 + 0∙21 +1∙20 = 32+8+4+1 =4510.
Пример 2. Перевести число 1011.1012 в десятичную ПСС. Действуя аналогично первому примеру, получим:
X=1011.1012 = 1∙23 + 0∙22 + 1∙21 + 1∙20 + 1∙2-1 + 0∙2-2 + 1∙2-3 =
= 8 + 2 + 1 + 1/2 + 1/8 = 11.625 .
Преобразование представления числа из десятичной системы счисления в другую
Для преобразования представления любого числа из одной ПСС в другую достаточно уметь преобразовывать отдельно его целую и отдельно дробную части, а затем соединить преобразованные части. Рассмотрим отдельно эти два случая.
Пробразование целых чисел
Известна запись целого числа N в 10-ой ПСС. Согласно (4) запись этого числа в Q-ичной ПСС будет иметь вид:
(10)
где . Для определенияq0 разделим обе части равенства (10) нацело на Q, причём в левой части произведём деление, пользуясь правилами 10-ной арифметики, и получим:
, (11)
. (12)
В (11) скобками указано взятие целой части числа, так как мы выполняем операция целочисленного деления. В (12) - записана операция получения остатка от деления N нацело на Q. В формуле (11) q0 исчезло, так как все qi < Q. Теперь, для определения q1, к N1 можно применить те же операции:
.
Таким образом, пологая , перевод чисел с использованием 10-ной арифметики осуществляется по следующим рекуррентным формулам:
. (13)
Этот процесс продолжается до тех пор, пока не будет получено . Учитывая, что поскольку все операции выполняются в 10-ной ПСС, то в этой же ПСС будут получены искомые коэффициенты , поэтому каждый из них необходимо записать одной цифрой в новой Q-ичной.
Замечание. Рекуррентная формула – это соотношение вида:
an+1 = f(n, an ) , n=0, 1, 2, … ,
которое позволяет вычислить все члены последовательности a1 , a2 , … , , если задано a0 и вид функционального отображения f(∙).
Таким образом, для вычисления представления числа в новой ПСС необходимо:
Выполнить деление нацело текущего частного Ni на основание новой ПСС (все числа представляются в 10-ой ПСС и операция выполняется по правилам 10-ой ПСС).
Вычислить текущий остаток от деления нацело (qi = Ni modQ) по правилам 10-ой ПСС.
Если новое частное Ni+1 не равно 0, то перейти к пункту 1.
Каждый остаток, записанный в 10-ой ПСС, записываем одной цифрой в новой ПСС.
Остатки записываем в обратном порядке, они дадут изображение числа в новой ПСС (последний остаток будет самой левой цифрой, а первый остаток – самой правой цифрой).
Пример 1. Перевести число N = 47 в двоичную ПСС. Применяя формулы (13), имеем:
47 | 1
23 | 1
11 | 1
5 | 1
2 | 0
1 | 1
0 |
Здесь слева от вертикальной черты пишем исходное число и частные, а справа указывается остаток от деления нацело на 2. Поскольку числа 0 и 1 в обеих ПСС (десятичной и двоичной) обозначаются одинаковыми цифрами, то переводить остатки в двоичную ПСС не требуется. Следовательно, записывая остатки в обратном порядке, имеем результат .