Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Системы счисления.doc
Скачиваний:
8
Добавлен:
12.11.2019
Размер:
305.66 Кб
Скачать

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

Задача. Пусть известна запись числа Х, в Р – ичной системе счисления. X = anan-1 . . .a1a0,a-1a-2 . . . где ai– цифры Р – ичной системы. Требуется записать это число в Q – ичной системе. X = bsbs-1 . . . b1b0,b-1b-2 . . . где bi – цифры Q – ичной системы счисления .

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

Перевод из системы с основанием Q в систему счисления с основанием P.

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

Необходимо число Q и цифры bi заменить их P – ичными изображениями и выполнить операции в Р – ичной системе счисления.

Пример 1. Пусть  X=3718 требуется перевести X  в 10 –ю систему счисления. Для перевода запишем число X в виде в виде полинома и выполним действия в 10 – й системе.  X = 3 * 82 + 7 *  81 +1* 80 = 249

Пример 2. Пусть X= af,4 16 требуется перевести X  в 10 –ю систему. Для перевода запишем число в виде полинома и выполним действия в 10 – й системе X = 10 *161 + 15*160 + 4 *16-1 = 175,25

Перевод из системы с основанием P в систему счисления с основанием Q.

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

Перевод целых чисел.

Пусть целое число N задано в система счисления с основанием Р и требуется его перевести в систему с основанием Q. Запись N в Q – ичной системе имеет вид  N = bs *Qs+ bs-1*Qs-1+ . . . + b0*Q0 Для определения b0 разделим обе части на Q, причем в левой части деление выполняется по правилам Р – ичной арифметики, получим   N/Q = bsQs-1 + bs-1Qs-2 + . . . + b1 +b0 /Q Левую часть можно представить как сумму целой и дробной части N/Q = [N/Q]+ {N/Q} Приравнивая целые и дробные части получим  [N/Q] = bsQs-1 + bs-1Qs-2 + . . . + b1 {N/Q} = b0/Q b0 = Q{b0/Q} Указанные действия на самом деле не выполняются, так как b0 является просто остатком от деления N на Q. Далее положим N1 = [N/Q]  = bsQs-1 + bs-1Qs-2 + . . . + b1 N1 будет целым числом и можно применить ту же самую процедуру для определения b1. Таким образом, при условии что N0 = N, перевод чисел с использованием Р – ичной арифметики осуществляется по следующим рекуррентным формулам:

bi = Q{Ni/Q} – остаток от деления Ni на Q; Ni+1 = [Ni/Q] – целая часть от деления Ni на Q, i = 0, 1, 2, … Процесс продолжается до тех пор, пока не будет получено Ni+1 = 0.

Пример 3. Перевести число N = 4710 в двоичную систему с использованием десятичной арифметики. Решение. При делении выделяют целую часть результата и остаток. Остаток записываю в скобках рядом с целой частью. Применим рекуррентные формулы  при Q = 2 47: 2 = 23(1); 23: 2 = 11(1); 11: 2 = 5(1); 5: 2 = 2(1); 2: 2 = 1(0); 1: 2 = 0(1) Ответ: 4710 = 1011112.

Пример 4. Перевести число N = 3060 в 16 - ичную систему с использованием десятичной арифметики. Решение. 3060: 16 = 191(4); 191: 16 =11(15); 11: 16 = 0 (11). Ответ. 306010 = bf416

Перевод дробных чисел. Пусть X – правильная дробь, которую нужно перевести в Q – ичную систему. Так как X < 1, то число X в Q – ичной системе можно представить в виде X = b-1Q-1 + b-2Q-2 + . . . + b-m Q-m + . . . , где bi – искомые коэффициенты Q – ичного разложения числа X. Для определения bi умножим левую и правую часть на число Q пользуясь правилами Р – ичной арифметики, тогда XQ = b-1 + b-2Q-1 + . . . + b-m Q-m+1 +  . . . Приравнивая полученные целые и дробные части получим [xQ] = b-1 {XQ} = b-2Q-1 + . . . + b-m Q-m+1 +  . . . Таким образом коэффициент b-1 в разложении определяется соотношением [xQ] = b-1 Положим X1 = b-2Q-1 + . . . + b-m Q-m+1 +  . . . Тогда X1 будет правильной дробью и для определения b-2 можно применить туже самую процедуру.

Если принять, что X0 = X , то перевод дроби с использованием Р – ичной арифметики осуществляется по следующим рекуррентным соотношениям: b-(i+1) = [XiQ], Xi+1 = {XiQ}, i = 0, 1, 2, … Процесс продолжается до тех пор, пока небудет получено Xi+1 = 0 или не будет достигнута требуемая точность изображения числа. Точность определяется количеством цифр учитываемых после запятой.

Пример 5. Перевести число Х = (0,2)10 в двоичную систему с использованием 10 –й арифметики. Решение. Применим формулы 0,2  2 = 0,4 = 0 + 0,4   b-1 = 0; 0,4  2 = 0,8 = 0 + 0,8   b-2 = 0 0,8  2 = 1,6 = 1 + 0,6   b-3 = 1 0,6  2 = 1,2 = 1 + 0,2   b-4 = 1 и т.д. Ответ 0,210 = 0,(0011)2

Перевод в случае Р = Ql.

Утверждение. В случае если P = Ql , где l – целое положительное число, запись какого либо числа в смешанной (Q – P) – ичной системе счисления, тождественно совпадает с записью этого числа в системе с основанием Q. Так как , то запись 8 – ричного числа  в смешанной системе (2 – 8) -й, будет совпадать с записью его в 2 – ичной системе, и запись 16 – ричного числа в смешанной системе (2 – 16) - й, будет совпадать с записью его в 2 – ичной системе. Используя это утверждение можно легко выполнить перевод из системы с основанием Р в систему с основанием Q и обратно.

Пример 6. Перевести число 46,58 в двоичную систему. Решение. Запишем число в смешанной системе (2 – 8). Для записи каждой восьмеричной цифры будем использовать три двоичных разряда ( триаду ), в результате получим. 46,5 = 100 110, 101 – это есть запись числа в двоичной системе.

Пример 7. Перевести число 101110,10 2 в 16 – ричную систему. Решение. Разбиваем число на тетрады вправо и влево от запятой. 0010 1110,1000. Каждой двоичной тетраде ставим в соответствие 16 – ричную цифру. 0010 – 2, 1110 – e, 1000 – 8. Ответ 101110,10 2 = 2e,8 16 

Проверьте себя, как вы усвоили эту тему ?