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



 В процессе преобразования информации в цифровом автомате возникает необходимость перевода чисел из одной позиционной системы счисления в другую. Рассмотрим задачу перевода чисел в общей постановке. Числа в разных системах счисления можно представить следующим образом:                                       

(4)

В общем виде задачу перевода числа из системы счисления с основанием q1 в систему счисления с основанием q2 можно представить как задачу определения коэффициентов bi нового ряда, изображающего число в системе с основанием q2. Решить эту задачу можно подбором коэффициентов bi. Основная трудность при этом заключается в выборе максимальной степени, которая еще содержится в числе Aq1. Все действия должны выполняться по правилам qi – арифметики, т.е. по правилам исходной системы счисления.

После нахождения максимальной степени основания проверяют «вхождение» в заданное число всех степеней нового основания, меньших максимального. Каждая из отмеченных степеней может «входить» в ряд не более q2 – 1 раз, так как для любого коэффициента ряда накладывается ограничение:                       

Пример 1. Перевести двоичное число А2 = 1101001 в десятичную систему счисления (q2=10).

 

16150413020110 = 1*26 +1*25  + 0*24 +1*23 +0*22 +0*21 +1*20 = 64+32+8+1=10510

 Ответ: А10=105

Пример 2. Перевести двоичное число А2 = 1100 в десятичную систему счисления (q2=10)

Переход от одной системы счисления к другой можно продемонстрировать на примере десятичного числа 12, которое в двоичном выражении выглядит так 1100.

 

1100 = 1*2 3 + 1*22 + 0*2 1 + 0*2 0 = 8+4 = 12 = 1*101 + 2*10 0 .  Ответ: А10=12

 

В этом примере числа раскладываются на разряды. Число 1100 состоит из четырех разрядов, которые пронумерованы от нуля до трех, а число 12 – из двух.

Пример 3. Перевести десятичное число А=96 в троичную систему счисления (q2 = 3).

96 = 0*35 + 1*34 + 0*33+ 1*32 + 2*31 + 0*30 = 101203 .           Ответ: А3 = 10120.

 96 : 3 = 32   (остаток 0)

32 : 3 = 10    (остаток 2)

10 : 3 = 3      (остаток 1)

 3 : 3 = 1       (остаток 0)

 1 : 3= 0      (остаток 1)

Рассмотренный в примере прием может  использован только при ручном переводе. Для реализации машинных алгоритмов перевода применяют следующие методы.

Перевод целых чисел делением на основание q2 новой системы счисления.

Для перевода целого числа необходимо разделить его на основание системы счисления q и продолжать делить частное от деления до тех пор, пока частное не станет равно 0.

Последовательность остатков от деления, записанных в обратном порядке начиная с последнего и будет числом с основанием q.

Пример 4 .    1110 ­­- ?2                     

                                               

11 2    
10 5 2  
1 4 2 2
  1 2 1
    0  

                                                          Ответ: 1011 2

Пример 5.

4910 - ? 2             49 2

                     48 24 2

                            1 24 12 2

                                     0 12 6 2

                                            0 6 3 2

                                                   0 2 1   

                                                            1             Ответ: 110001 2

 

Пример 6 .     12410 ­­- ?8             124 8

                                             8     15 8

                                                     44     8 1

                                                     40      7

                                                       4

 

Как мы видим, остаток от первого деления равен 4. То есть младший разряд восьмеричного числа содержит цифру 4. Остаток от второго деления равен 7, то есть второй разряд восьмеричного числа – это цифра 7. Старший разряд получислся равным 1. То есть в результате многократного деления мы получили восьмеричное число 1748.

Из восьмеричной системы можно перевести в двоичную делением.

1748 = ?2          174 2

                16 76 2

                         14 6 37 2

                         14 16 2 17 2

                           0 16 17 16 7 2

                                   0 16 1 6    3 2

                                           1     1  1    1 Ответ: 1111100

          

Перевод правильных дробей умножением на основание q2 новой системы счисления.

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

Пример 6. Перевести десятичную дробь А = 0,5625 в двоичную систему счисления (q2=2)

0,5625 10 - ? 2               0, 5625*2       

                                            1 1250*2

0 2500*2

0 5000*2

1 0000                     

Ответ: 0,5625 10 – 0,10010 2

 

Пример 7. Перевести десятичную дробь А = 0,625 в двоичную систему счисления (q2=2)

Решение. 0,625 10 - ? 2       0, 625*2       

                                              1 250*2

    0 500*2

    1 000

     0                             

Ответ: 0,625 10 – 0,1010 2

Пример 8. Перевести двоичную дробь А2 = 0,1101 в десятичную систему счисления. Основание q2 изображается в двоичной системе эквивалентом q2=10102.

Решение.                               0, 1101       

                                               1010

    b–1=8 1000 0010

        1010

      b–2=1 1001 0100

               1010

    b–3=2 0010 1000

               1010

    b–4=5 0101 0000              

Ответ: 0,11012 – 0,8125 10

или    0,1-1 1-2 0-3 1-4 = 1*2-1 +1*2-2  + 0*2-3 +1*2-4 = 1/ 21+1/22+0/23+1/24=13/16 = 0,8125 10

 

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

Пример 9. Перевести десятичную дробь А = 49,625 в двоичную систему счисления (q2=2)

Решение. Результаты перевода соответственно целой и дробной частей возьмем из примеров 5 и 7.

                                  Ответ: А2 = 110001,1010. 

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


Дата добавления: 2022-01-22; просмотров: 23; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!