Теория автоматов1_6

advertisement
Теория автоматов
ЛЕКЦИЯ № 6
Теория автоматов
6.1 Методы деления двоичных чисел
Деление двоичных чисел сводится к выполнению вычитаний и сдвигов. Пример.
Выполнить деление 110110 (54) на 110 (6).
110110|110
|---110
1001
000110
110
000
Результат
54:6=9(10 c.с.)= 1001(2 с.с.)
Операция деления чисел, представленных в ЭВМ в форме с фиксированной
точкой сводится к выполнению многократных вычитаний и сдвигов. При этом
разряды частного определяются, начиная со старшего, последовательным
вычитанием делителя сначала из делимого, а затем из образующихся в процессе
деления сдвигаемых остатков.
Теория автоматов
6.1 Методы деления двоичных чисел
Если разность между делимым или очередным остатком и делителем
положительна или равна 0, то в соответствующий разряд частного заносится 1, а
если отрицательна - заносится 0. Поскольку в ЭВМ операция вычитания в
непосредственном виде не выполняется, последовательное вычитание заменяют
сложением остатков с дополнительным кодом делителя. При этом новый остаток
получается также в соответствующем коде.
Операция деления в ЭВМ реализуется двумя методами: с восстановлением и без
восстановления остатка.
Пример.
Деление чисел x=+35 и y=+7 без восстановления остатка.
1. Представление чисел в соответствующих кодах x(пр)=100011; y(пр)=111; y(доп)=001.
2. Сравнение разрядов делителя (111) с таким же количеством старших разрядов
делимого (100) показывает, что 111 > 100. Поэтому к делителю слева
приписывается 0, т.е. теперь
y(пр)=0111, а y(доп)=1001.
Если бы делитель был < или = соответствующих разрядов делимого, то деление
выполнялось бы сразу.
Теория автоматов
6.1 Методы деления двоичных чисел
Деление
сложение с
доп.кодом делителя
+ 100011|0111
1001 |----------- 101
первый остаток (0001) > 0
0001___|||
сдвиг влево
001
||
снос 1 из делимого
+ 0011
||
сложение с доп.кодом
1001
||
делителя
---||
второй остаток (1100) < 0 1100____||
сдвиг влево
100
|
снос 1 из делимого
+ 1001
|
сложение с прямым
0111
|
кодом делителя
---|
третий остаток (0000)
0000_____|
Результат 35:7=5(10 c.c.)=101(2 с.с.)
Теория автоматов
6.1 Методы деления двоичных чисел
Операция деления чисел, представленных в ЭВМ в форме с плавающей точкой,
выполняется путем деления мантиссы делимого на мантиссу делителя; при этом
порядок частного определяется разностью порядков делимого и делителя.
Полученное частное нормализуется и ему присваивается знак "+", если делимое и
делитель имеют одинаковые знаки и "-" при разных знаках.
Особенности операции деления чисел с фиксированной и плавающей точкой
с использованием сумматоров различных типов
1.деление с неподвижным делимым и сдвигаемым вправо делителем
2 деление с неподвижным делителем и сдвигаемым влево делимым Если после
вычитания остаток =>0, то очередная цифра частного = 1, если <0, то частное = 0 и
требуется операция восстановления остатка.
X - делимое; Y - делитель; Z - частное
Теория автоматов
6.1 Методы деления двоичных чисел
деление начинается со сдвига делимого влево, косой передачей Рг1Х->РгСм->Рг1Х
и Рг2Х->Рг3Х->Рг2Х
Теория автоматов
6.1 Методы деления двоичных чисел
С восстановлением остатка и неподвижным делителем
1. |X| и |Y|
2. старшие разряды делимого -> частичный остаток
3. частичный остаток удваивается, сдвигом влево на 1 разряд, в освободившийся
разряд записываются очередные цифры делимого
4. из сдвинутого остатка вычитается делитель и анализируется знак
5. >0
->
Zi=1
и
пока
не
все
поделили
переход
к
3
<0 -> Zi=0, восстановление остатка (прибавлением делителя) и пока не все
поделили переход к 3
6. формирование знака частного
Основной недостаток - дополнительный шаг на восстановление остатка.
Другой вариант: 1, 2, 3 и 6 без изменений
4. из сдвинутого остатка вычитается делитель, если остаток <0 к полуученому
остатку прибавляем делитель
5. >0->Zi=1
<0->Zi=0
пока не все поделили переход к 3
Теория автоматов
6.1 Методы деления двоичных чисел
1.
Особенности деления чисел с плавающей точкой.
1. необходима раздельная обработка порядка и мантиссы
2. при сложении и вычитании требуется выравнивание порядков
3. после выполнения операции требуется нормализация
при умножении и делении выполняются сложение и вычитание порядков
Download