Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Th_Numb+Combi (2).doc
Скачиваний:
174
Добавлен:
05.03.2016
Размер:
2.43 Mб
Скачать

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

Описанный выше алгоритм нахождения q-чных цифр на практике реализуют в виде последовательного деления в столбик.

П

_5709 |9

54 _634|9

_ 30 63 70 |9

27 4 63 7

_ 39 7

36

3

ример:Найти запись числа 5709 в девятиричной системе счисления.

Оформим вышеописанный процесс в виде деления в столбик: 5709 = 77439 .

Перевод числа из десятичной системы счисления в произвольную q-чную легко программируется: все вычисления осуществляются в одном цикле.

Перевод числа из q-чной системы счисления в десятичную (схема Горнера)

Если k = ()q , то k = anqn + an–1qn–1 + … + a1q + a0 = = ((…((anq + an–1)q + an–2)q … )q + a1)q + a0 . Таким образом, процесс нахождения десятичной записи числа k можно организовать рекуррентно, полагая (n–1 i 0). Записывая каждое si в десятичной системе счисления, в результате получим десятичную запись числа k = s0 . Описанный выше процесс вычислений называется схемой Горнера.

Пример: Найти десятичную запись числа 1С8D16 . Оформим процесс вычислений по схеме Горнера в виде таблицы:

i

3

2

1

0

ai

1

12

8

13

si

1

28 = 116+12

456 = 2816+8

7309 = 45616+13

Таким образом, 1С8D16 = 730910 .

Следует отметить, что схему Горнера можно применять для вычисления любых полиномиальных выражений вида anxn + an–1xn–1 + … + a1x + a0 , где ai (0 i n) и xчисла, матрицы и другие математические объекты, которые можно складывать и умножать.

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

В общем случае, для перевода числа из p-ичной системы счисления в q-чную вначале переводят его из p-чной системы в десятичную, а полученный результат затем переводят в q-чную систему счисления.

Вычисления упрощаются, если основание одной системы счисления равно некоторой степени основания другой системы. Так, если p = qs, то для перевода числа k = anqsn + an–1qsn–1 + … + a1qs + a0 в q-ичную систему достаточно перевести в эту систему каждую цифру ai , найдя её разложение ai = bi s–1qs–1 + … + bi 1q + bi 0 по степеням q, и записать искомый результат k = , отбросив незначащие нули в старших разрядах.

Примеры: 1. (24)527 = 2427 + 5 = (232 + 23 + 0)33 + (032 + 13 + 2) = = 235+234+033+032+13+2 = 2200123 .

2. AC0F16 = (24 + 2)46 + (34)44 + (34 + 3) = 247 + 246 + 345 + 044 + + 043 + 042 + 34 + 3 = 223000334 = (10)(10)(11)(00)(00)(00)(11)(11)2 = = 10101100000011112 .

Если же q = ps , то цифры числа k = нужно разбить, двигаясь справа налево, на группы поs цифр в каждой и полученные p-чные числа рассматривать в качестве цифр данного числа в q-чной системе счисления.

Пример: 101011100102 = 010.101.110.0102 = 25628 = 0101.0111.00102 = = 57216 = (01)(01)(01)(11)(00)(10)2 = 1113024 .

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