Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
UchebnoePosobieInformatika2012_-_RC4.docx
Скачиваний:
133
Добавлен:
26.05.2015
Размер:
3 Мб
Скачать
☆

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

При решении задач с помощью ЭВМ исходные данные обычно задаются в десятичной системе счисления; в этой же системе, как правило, нужно получить и окончательные результаты. Так как в современных ЭВМ данные кодируются в основном в двоичных кодах, то, в частности, возникает необходимость перевода чисел из десятичной в двоичную систему счисления и наоборот.

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

Задача перевода заключается в следующем. Пусть известна запись числа х в системе счисления с каким-либо основанием Р:

pnpn-1…p1p0p-1p-2…,

где рi - цифры Р-ичной системы (0  рiР-1). Требуется найти запись этого же числа х в системе счисления с другим основанием Q:

qsqs-1…q1q0q-1q-2…,

где qi - искомые цифры Q-ичной системы (0  qiQ-1). При этом можно ограничиться случаем положительных чисел, так как перевод любого числа сводится к переводу его модуля и приписыванию числу нужного знака.

При рассмотрении правил перевода нужно учитывать, средствами какой арифметики должен быть осуществлен перевод, т.е. в какой системе счисления должны быть выполнены все необходимые для перевода действия. Условимся считать, что перевод должен осуществляться средствами Р-ичной арифметики.

Перевод QP. Задача перевода произвольного числа х, заданного в системе счисления с основанием Q, в систему счисления с основанием Р сводится к вычислению полинома вида

X=qnQn + qn-1Qn-1 +…+ q1Q1 + q0Q0 + q-1Q-1 +…+ q-mQ-m (3.13)

Для получения Р-ичного изображения выражения (3.13) необходимо все цифры qi и число Q заменить Р-ичными изображениями и выполнить арифметические операции в Р-ичной системе счисления.

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

Перевод РQ. Так как для перевода любого числа достаточно уметь переводить его целую и дробную части, рассмотрим отдельно эти два случая.

1. Перевод целых чисел. Пусть известна запись целого числа N в системе счисления с основанием Р и требуется перевести это число в систему счисления с основанием Q. Так как N - целое, то его запись в Q-ичной системе счисления имеет вид

N = qsqs-1…q1q0,

где qi - искомые цифры Q-ичной системы (0  qi < Q-1). Для опреде­ления q0 разделим обе части равенства:

N = qsQs+ qs-1Qs-1+…+ q1Q1+q0 (3.14)

на число Q, причем в левой части произведем деление, пользуясь правилами Р-ичной арифметики (так как запись числа N в Р-ичной системе счисления известна), а правую часть перепишем в виде

N/Q = qsQs+ qs-1Qs-1+…+ q1Q1+q0 / Q.

Приравнивая между собой полученные целые и дробные части (учитывая, что qi < Q):

[N/Q] = qsQs-1+ qs-1Qs-2+…+ q1,

[N/Q]=q0/Q.

Таким образом, младший коэффициент q0 в разложении (3.14) определяется соотношением

Q0=Q[N/Q],

причем указанные здесь действия на самом деле не выполняются, так как q0 является просто остатком от деления N на Q.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]