- •1.Представление чисел в позиционных сс.
- •2. Перевод чисел из одной системы в другую.
- •3. Представление в разрядных сетках целых и дробных чисел в форме с фиксированной точкой.
- •4.Представление в разрядных сетках чисел в форме с плавающей точкой.
- •5.Предчтавление в разрядных сетках чисел в форме с плавающей точкой со смещенным порядком.
- •6.Упакованный и распакованный формат представления в разрядных сетках десятичных чисел.
- •7.Прямой, обратный и дополнительный коды представления двоичных чисел.
- •8.Логический, циклический и арифметический сдвиги над двоичными кодами чисел.
- •9. Алгебраическое сложение чисел в форме с фиксированной точкой.
- •10. Алгебраическое сложение десятичных чисел, представленных в коде 8-4-2-1.
- •11. Алгебраическое сложение чисел в форме с плавающей точкой.
- •12. Алгоритм Бута для умножения чисел в форме с фикс. Точкой.
- •13.Деление чисел в форме с фикс. Точкой методом «с неподвижным делителем без восстановления остатка».
- •14.Умножение и деление чисел в форме с плавающей точкой.
- •15.Булевый базис логических функций.
- •17.Логическая функция – «сумма по модулю 2».
- •18.Построенние сндф логических функций по таблице истинности. 19.Построение лог. Схемы, реализирующей сндф лог. Функции.
- •20.Формула д.Моргана и переход к инвертируемым базисам.
- •21.Минимизация логической функции методом Квайна-Маккласки
- •22. Минимизация с использованием инверсных функций
- •23. Шифраторы
- •Логические выражения отражающие функционирование:
- •24.Дешифраторы.
- •25.Каскадное соединение дешифраторов.
- •26. Мультиплексоры
- •27. Компараторы и инкременторы.
- •28. Одноразрядные сумматоры.
- •31.Асинхронные rs-тригеры.
- •36.Паралельные и последовательные регистры.
13.Деление чисел в форме с фикс. Точкой методом «с неподвижным делителем без восстановления остатка».
Выполнение операции деления предполагает определение знака и абсолютное значение частного. Определение знака частного производится аналогично определению знака при операции умножения, т.е. знаковые разряды делимого и делителя суммируются по модулю 2. определение абсолютного значения частного сводится к последовательным вычитанием делителя с начала из делителя, а затем из образующихся в процессе вычитания сдвигаемых остатков. Последовательно вычитание делителя заменяется последовательным сложением в дополнительном коде. Формирование частного производится начиная со старшего разряда, причем если разность между делимым (или очередным остатком) и делителем положительна или равна 0, то в соответствующий разряд частного заносится 1, а если отрицательна, то 0.
Обычно в вычислительных устройствах для определения модуля частного используется метод, получивший название с неподвижным делителем без восстановления остатка.
Алгоритм деления по данному методу можно представить в виде следующей последовательности:
1. Из предварительно сдвинутого влево на один разряд делимого вычитается делитель (сложение в дополнительном коде).
2. Если полученный остаток положительный, то цифре частного присваивается значение 1, а если отрицательный, то 0.
3. Если получившийся остаток положительный, то после его сдвига на один разряд влево к нему прибавляется делитель в дополнительном коде, а если остаток отрицательный, то после его сдвига влево к нему прибавляется делитель в прямом коде.
4. Действия повторяются с пункта 2.
Указанные действия повторяются до тех пор, пока не будут сформированы значения всех последующих разрядов частного, обеспечивающих точность результата.
При выполнении операции деления, делимое обычно представляется с удвоенным количеством разрядов по сравнению с делителем и частным.
Рассмотрим пример деления целых чисел:
Х= 1110= +10112
У= 510= +1012
Представим модуль делителя как положительное число в прямом и как отрицательное число в дополнительном кодах, а модуль делимого в прямом коде с удвоенным количеством разрядов по отношению к делителю:
(|У|)пр=0101
(-|У|)доп=1011
(|Х|)пр=00001011
Операцию деления указанных чисел можно представить в виде:
|
Делимое |
|
Частное |
(|X|)пр + (-|У|)доп |
00001011 0001011 1011 |
Исходное состояние Сдвиг влево |
|
+ (|У|)пр |
1100011 100011 0101 |
Остаток отрицательный Сдвиг влево |
0 |
+ (|У|)пр |
110111 10111 0101 |
Остаток отрицательный Сдвиг влево |
00 |
+ (-|У|)доп |
00001 0001 1011 |
Остаток положительный Сдвиг влево |
001 |
|
1100 |
Последний остаток |
0010(Модуль частного в прямом коде) |
В данном примере за четыре цикла операции деления получено целая часть частного и отрицательный остаток. Чтобы получить положительный остаток необходима его коррекция, т.е. к отрицательному остатку прибавляется прямой код делителя:
Остаток < 0 1100
(|У|)пр +0101
0001 → +0012 = 110
остаток в прямом коде
Аналогичным образом можно выполнить и деление правильных дробей, представленных в форме с фиксированной точкой. Отличие состоит только в представлении модуля делимого, дополнительные разряды в котором добавляются справа от значащих цифр.