Арифметические основы цифровой техники - часть 2

 

  Главная      Учебники - Производство     

 

поиск по сайту           правообладателям

 

 

 

 

 

 

 

 

 

содержание   ..  1  2  3   ..

 

 

Арифметические основы цифровой техники - часть 2

 

 

действия  по  преобразованию  десятичного  числа 39519

10

  в  шестнадцатеричную 

систему счисления: 

  _ 39519  16 
     39504    _ 2469     16 
           15       2464     _ 154      16 
                             5        144          9 

          F                          10 

 

      A 

Отсюда 39519

10

=9А5F

16

Теперь рассмотрим преобразование дробной части десятичного числа в 

шестнадцатеричную систему счисления. Из равенства 

 

0, 7821502

10

 =  16

-1

 

(

12+16

-1

(

8+16

-1

(3+16

-1

11)

)

)

 

 

    С                                      В 

следует,  что  для  получения  цифр  разрядов  дробной  части  шестнадцатеричного 
числа (0,C83B

16

)  необходимо  последовательно  умножать  на  16  дробную  часть 

исходного  десятичного  числа  и  дробные  части  образующихся  произведений. 
При  этом  целые  части  этих  произведений  являются  цифрами 
шестнадцатеричного представления: 

    0, 7821502 

×

 

                      

       16 

C    

 

12, 5144032 

 

 

×

 

 

 

 

       16 

8, 2304512 

×

 

 

       16 

3, 6872192 

×

 

       16 

A    

 

10, 9955072 

 

 

×

 

       16 

F    

 

15, 9281152 

 

 

×

 

       16 

E    

 

14, 8498432 

   

 

…………… 

 

 

Таким  образом, 0,7821502

10

 = 0,C83AFE...

16

 

 0,C83B

16

.  И  в  этом  случае 

убеждаемся, что дробные числа преобразуются неточно. 

 

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

Рассмотрим  перевод  десятичных  чисел  в  двоичную  систему  счисления.  Для 
иллюстрации  метода  перевода  выберем  десятичное  число 937, 568

10

,  которое 

представим в следующей форме: 

 
937, 568

10

 = (9

10

2

 + 3

10

1

 + 7

10

0

 + 5

10

-1

 + 6

10

-2

 + 8

10

-3

)

10

 = 

    = (9

10 + 3)

10 + 7 + 10

-1

(

5 + 10

-1

(6 + 10

-1

8)

)

 

Целая часть    

Дробная часть 

 
Представив числа, входящие в правую часть равенства, четырехразрядными 

двоичными числами, запишем выражения для преобразования целой и дробной 
частей: 

937

10

 = 

(

(1001 

 1010 + 0011) 

 1010 + 0111

)

2

   

 

 

         9        10          3         10         7 

0, 568

10

 = 

(

(

(1000 

:

 1010 + 0110) 

:

 1010 + 0101

)

 

:

 1010

)

2

     8         10         6         10          5         10 

Получаемые в результате выполнения операций над двоичными числами 

значения  представляют  собой  двоичные  представления  соответственно  целой  и 
дробной частей исходного числа. 

Рассмотрим  обратный  перевод  двоичных  чисел  в  десятичную  систему 

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

исходного двоичного и 

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

Перевод  дробного  двоичного  числа  производится  последовательным 

умножением  на  двоичное  число  1010

2

  исходного  числа  и  дробных  частей 

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

 

Преобразование  чисел  с  помощью  сдвиговых  регистров.  Рассмотрим 

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

1

 (рис.1.1). Результат преобразования (число в десятичной системе 

счисления) будем формировать в регистре R

2

. Разряды регистра R

2

 делятся на 4-

разрядные  группы  R

2

,  R

2

′′

,  R

2

′′′

  и  т.д.,  каждая  из  которых  предназначена  для 

хранения  одной  десятичной  цифры,  представленной  в  двоичной  системе 
счисления. 

 

Рис. 1.1 

 

Рассматриваемый  способ преобразования потребует  выполнения  последова-

тельности  операций  сдвига  влево  содержимого  регистров  R

1

 

и  R

2

  с  передачей 

выдвигаемого из регистра R

1

 

содержимого старшего разряда в освобождающийся 

младший  разряд  регистра  R

2

.  Двоичное  число,  выдвигаясь  из  регистра  R

1

,

 

будет 

вдвигаться  в  регистр  R

2

.  При  этом  необходимо  учитывать  следующую 

особенность  выполнения  сдвигов  в  регистре  R

2

.  Единица,  выдвигаемая  при 

сдвиге из старшего разряда группы R

2

, имеет вес 2

4

 = 16. Однако, поступая в 

группу R

2

′′

 (в разряд десятков), эта единица будет иметь вес 10. Таким образом, 

при  передаче  единицы  из  R

2

  в  R

2

′′

  происходит  потеря 6 единиц.  Для 

компенсации этой потери потребуется прибавить 6 единиц к содержимому 
R

2

. Можно показать, что выдвижение единицы из любой 4-разрядной группы 

регистра R

2

 требует коррекции содержимого этой группы путем прибавления 6 

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

Более удобным оказывается способ, при котором коррекция производится не 

после сдвига, а до выполнения сдвига влево. В этом случае коррекция осуще-
ствляется прибавлением числа 3 (в результате сдвига оно удваивается и принимает 
значение 6), а  признаком  необходимости  коррекции  является  наличие  в 4-
разрядной  группе числа, большего или равного 5 (после  сдвига  это число ока-
зывается большим или равным 10). При этом передача единицы в следующую 4-
разрядную  группу  осуществляется  только  путем  передачи  переноса, 
возникающего в процессе сдвига (т. е. исключается необходимость прибавления 
единицы  к  содержимому  группы,  как  в  случае,  когда  коррекция  выполняется 
после операции сдвига). 

Если число разрядов регистра R

1

 равно n, то преобразование завершается 

после n-кратного выполнения сдвига. 

В  таблице  1.1  показан  процесс  преобразования  числа N = 11101011

2

 

десятичное представление 235

10

 

Таблица 1.1 

R

2

′′′

 

R

2

′′

 

R

2

 

R

1

 

 

0 0 0 0 

0 0 0 0 

0 0 0 0 

1 1 1 0 1 0 1 1 

Исходное состояние 

0 0 0 0 

0 0 0 0 

0 0 0 1 

1 1 0 1 0 1 1 

Сдвиг 

0 0 0 0 

0 0 0 0 

0 0 1 1 

1 0 1 0 1 1 

Сдвиг 

0 0 0 0 

0 0 0 0 

0 1 0 1 1 

Сдвиг 

 

 

+

0 1 1 1 

  0 0 1 1 

 

Коррекция 

 

 

1 0 1 0 

 

 

0 0 0 0 

0 0 0 1 0 

1 0 0  

1 0 1 1 

Сдвиг 

0 0 0 0 

0 0 1 0 

0 1 1 

Сдвиг 

 

 

+

1 0 0 1 

  0 0 1 1 

 

Коррекция 

 

 

1 1 0 0 

 

 

0 0 0 0 

1 1 

Сдвиг 

 

+

0 1 0 1 

  0 0 1 1 

+

1 0 0 0 

  0 0 1 1 

 

Коррекция 

 

 1 0 0 0 

1 0 1 1 

 

 

0 0 0 1 

 0 0 0 1 

Сдвиг 

 

 

+

0 1 1 1 

  0 0 1 1 

 

Коррекция 

 

 

1 0 1 0 

 

 

0 0 1 0 

 0 0 1 1 0 

1 0 1 

 

Сдвиг 

2 3 5 

 

 

 

Рассмотрим  обратное  преобразование  числа  из  десятичной  системы 

счисления  в  двоичную.  Очевидно,  такое  преобразование  может  быть 
осуществлено  при  использовании  описанных  выше  действий,  выполняемых  в 
обратном  порядке:  осуществляется  серия  сдвигов  вправо  содержимого 
регистров R

2

 

и R

1

 

с коррекцией результата после каждого сдвига. Коррекция 

выполняется  путем  вычитания  трех  единиц,  если  содержимое 4-разрядной 
группы  окажется  больше  или  равно 8. Поясним  необходимость  в  такой 
коррекции.  Указанное  условие  выполняется,  если  происходит  передача 
единицы из младшего разряда соседней слева группы в старший разряд данной 4-
разрядной  группы.  При  этом,  если,  например,  в  процессе  сдвига  передается 
единица  из  R

2

′′

  в  R

2

,  то  ее  вес  в  R

2

′′

  был  равен  10,  а  в  результате  сдвига  его 

значение должно быть уменьшено в два раза и, следовательно, должно быть 
равно 5. А так как единица, поступающая в старший разряд группы R

2

, будет 

иметь вес 8, то потребуется коррекция вычитанием возникающего избытка в три 
единицы. 

Если число разрядов в регистре R

1

 

равно n, то преобразование завершается 

после выполнения серии из n сдвигов. 

В таблице 1.2 показан процесс преобразования десятичного числа 235

10

 в 

двоичную систему счисления. 

 

 

 

 

 

 

 

содержание   ..  1  2  3   ..