Деление чисел с фиксированной точкой. 


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



ЗНАЕТЕ ЛИ ВЫ?

Деление чисел с фиксированной точкой.



Деление с восстановлением остатка и без.

 

x/y=z x- делимое (2n разрядов)

y- делитель (n разрядов)

z- частное (n разрядов)

Надо проверить, вместится ли частное в разрядную сетку:

z < 2n-1

Пример.

n=4

       

знак

8=23=2n-1→z< 2n-1

x/y< 2n-1

x-2n-1∙y<0

20    
21    
22    
23    

 

Какова степень, на столько разрядов и сдвигается

 

Если любое двоичное число умножить на 2m, то это значит, что двоичное число сдвигается на m разрядов влево.

Этапы деления.

Этап.

Проверка деления. На первом этапе деления проверяется возможность проведения операции деления: из делимого x вычитается делитель y, сдвинутый на (n-1) разряд влево. Если результат вычитания оказывается меньше 0, то деление возможно, т.к. результат z уместится в разрядную сетку n. В противном случае (результат больше 0), z будет требовать больше, чем n разрядов, для своего представления, и, следовательно, деление невозможно.

Этап.

Определение знака результата. Ниже рассматривается случай деления в прямом коде. Знак результата определяется путём сложения по модулю 2 знаковых разрядов операндов. После этого знаковые разряды операндов обнуляются.

Этап.

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

 

 

Деление с восстановлением остатка.

Пример.

Число 25 (0.0011001) разделить на 5 (0.101).

n=4

x-2n-1∙y<0

0.00110 0 1 0. 1 0 1

0101 0. 1 0 1

рез<0

0011

_0110

0101

рез<0 0001

рез<0

0010

_0101

0000

На очередном этапе частичный остаток сдвигается влево на один разряд. В освободившийся разряд заносим очередную цифру делимого. Из сдвинутого частичного остатка вычитаем делитель (в ЭВМ производится сложение с дополнительным или обратным кодом). Получаем новый частичный остаток. Если результат получился отрицательный, то в очередную цифру частного заносим 0 и восстанавливаем частичный остаток. В противном случае (если результат положительный, либо равен 0), заносим 1.

Деление без восстановления остатка.

Если на очередном шаге частичный остаток оказался положительным, то в частное заносится 1, но на следующем шаге, после сдвига частичного остатка и занесения очередной цифры делимого, производится вычитание делителя и сдвинутого частичного остатка (сложение с дополнительным или обратным кодом). Если частичный остаток отрицательный, то в очередную цифру частного заносится 0, а к сдвинутому частичному остатку прибавляется делитель.

 

0.00110 0 1 0. 1 0 1 +5 0.101

1011 0. 1 0 1 -5ок 1.010

рез<0 1110 -5дк 1.011

+1100

0101

рез<0 0001 пробное вычитание

рез<0

1101

+1011

0000

 

 

Структурная схема АЛУ.

(Для 2-ого случая).

 

Швх

1 001

 
Р2

       
 
   
 


Р1

Р21

           
   
   
 
 
 

 

 


РА РВ

       
   

 


n-1
СчЦ

*

 

Тр СМ

 
 


 

РСМ

       
   
 


Швых

       
   
 
 


Р1 – регистр делителя.

Делимое: старшая часть заносится на РВ, младшая часть на Р2.

Частичный остаток до сдвига получается на выходе сумматора СМ, а частичный остаток после сдвига – на РСМ.

На РСМ с Р2 заносится по линии * очередной разряд делимого. А потом сдвинутый частичный остаток на Р2.

Очередная цифра частного будет записываться в младший разряд регистра Р21.

Р21 предназначен для сдвига младшей части делимого.

Частное формируется на Р21 и переносится на Швых.

Особенности выполнения операций над числами с плавающей точкой.

 

 
 


- нормализованная правильная дробь

Знак числа

25.31 + 3.2→0.2531×102 + 0.32×101 = число ×102

1. Порядок результата принимается равным большему из двух порядков.

2. Производится коррекция мантиссы с меньшим порядком: сдвигается вправо на число порядков, равное разности порядков.

3. Этап сложения мантисс: производится сложение мантисс как чисел с фиксированной точкой.

4. Нормализация результата: если результат не нормализован, то нормализуем результат – сдвигаем мантиссу влево на количество разрядов, равное числу нулей до первой значащей цифры; порядок мантиссы при этом уменьшается на это же число.

При сложении мантисс возникает «переполнение». Тогда сдвигаем мантиссу вправо, а порядок увеличивается.

При коррекции порядка может возникнуть переполнение разрядной сетки. Тогда будет прерывание.

 

Умножение чисел с плавающей точкой.

0.5×103 + 0.26×102

       
   


РА×2 РВ×2L

При умножении мантиссы перемножаем, порядки складываем.

 

Деление чисел с плавающей точкой.

Порядки вычитаем, мантиссы делятся.

 

Л17



Поделиться:


Последнее изменение этой страницы: 2016-08-15; просмотров: 836; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.15.193.45 (0.016 с.)