A) Перевод целых чисел делением на основании q новой системы счисления

Пусть задано число А в системе счисления с основанием p A(p). Его необходимо преобразовать в новую систему с основанием q A(q). Целое число A(p) в системе счисления с основанием q записывается в виде:

A(q) = bn -1 qn -1 + bn -2 qn -2 +... + b 1 q 1 + b 0 q 0,

где bI – база новой системы счисления.

Переписав это выражение по схеме Горнера, получим:

A(q) = (... ((bn -1 q + bn -2) q +... + b 1) q + b 0. (2.3)

Правую часть выражения (2.3) разделим на величину основания q. В результате получим остаток b 0 и целую часть A 1:

A 1 = (... ((bn -1 q + bn -2) q +... + b 1).

Разделив целую часть A 1 на q, получим целую часть A 2 и остаток b 1. Повторяя процесс деления n раз, получим последний остаток bn -1, который и является старшей цифрой числа в системе с основанием q. Таким образом в результате серии делений исходного числа на основание новой системы счисления q находим коэффициенты: A = A 1 q + b 0;

A 1 = A 2 q + b 1;

···

An -2 = An -1 q + bn -2;

An -1 = 0 q + bn -1.

При этом процесс деления продолжается до тех пор, пока не окажутся выполненными соотношения: An -1 < p и An = 0.

Алгоритм перевода целых чисел из системы в систему формулируется следующим образом.

1. Разделить исходное число A(p) на основание новой системы счисления, записанное в старой ― q(p). Полученный остаток есть младшая цифра искомого числа.

2. Целую часть частного вновь разделить на основание новой системы счисления, записанное в старой ― q(p). Остаток является очередной цифрой искомого числа.

3. Повторять п.2 до тех пор, пока целая часть частного не станет равной нулю.

4. Записать число в новой системе из остатков от деления, начиная с последнего.

Все вычисления выполняются в исходной системе счисления, в этой же системе получаются и цифры искомого числа.

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

Решение.

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

                  Частное
                  Остаток

Ответ: 139(10)=10001011(2).

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

        Частное
        Остаток

 

Ответ: 139(10)= 213(8).

в) При переводе из двоичной системы счисления в десятичную исходное число необходимо делить на основание новой системы 10(10) = 1010(2), выполняя действие в двоичной системе счисления:

Ответ: a 0 = 1001(2) = 9(10); a 1 = 11(2) = 3(10); a 2 = 1.

A =10001011(2) =139(10).

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

Пример 4. Перевести число A=10001011(2) в десятичную систему счисления.

Решение: A = 1•27 + 1•23 + 1•21 + 1 = 128 + 8 + 2 + 1 = 139(10).

Ответ: A =10001011(2) =139(10).

b) Перевод дробных чисел умножением на основание q новой системы счисления

Пусть задана правильная дробь в системе счисления с основанием p - A (p) = a -1 a -2... a - m . Тогда в новой системе счисления с основанием q это число будет изображено как

A(q) = b -1 b -2... b-m = b -1 q -1 + b -2 q -2 +...+ b-mq-m.

Переписав это выражение по схеме Горнера, получим

A(q) = q -1(b -1 + q -1(b -2 + q -1(b-3 + … + q -1 b-m)...)). (2.4)

Если умножить правую часть выражения (2.4) на q то получится неправильная дробь, в целой части которой будет число b -1. Умножив оставшуюся дробную часть на q, получим дробь, в целой части которой будет b -2, и т.д. Повторяя процесс умножения m раз, найдем все m цифр в новой системе счисления.

Сформулируем алгоритм перевода правильных дробей.

1. Умножить исходное число A (p) на основание новой системы счисления, записанное в старой ― q(p). Целая часть произведения есть старшая цифра искомого числа.

2. Дробную часть произведения умножить на основание новой системы, записанное в старой ― q(p). Целая часть полученного произведения является очередной цифрой искомого числа.

3. Повторять п.2 до тех пор, пока дробная часть произведения не окажется равной нулю или пока не будет получено достаточное количество значащих цифр нового числа.

4. Записать новое число из целых частей произведения, начиная с первой.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: