- •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.Паралельные и последовательные регистры.
8.Логический, циклический и арифметический сдвиги над двоичными кодами чисел.
Сдвиговые операции состоят в одновременном смещении цифр кода на фиксированное количество разрядов влево или вправо. В цифровых вычислительных устройствах обычно используются логический, циклический и арифметический сдвиги. При логическом сдвиге происходит смещение в разрядной сетке всех цифр числового кода, включая и разряд знака. При этом в освободившимся при сдвиге разряда сетки устанавливаются нули, а не уместившиеся в сетке при сдвиге теряются. Количество разрядов на которые сдвигаются исходный набор цифр называют константой сдвига. Н-р: в 8-ми разрядную сетку исходный код 10010111 при логическом сдвиге на два разряда вправо будет иметь вид:
0 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
Циклический сдвиг отличается от логического тем, что при смещении всей числовой последовательности цифры выходящие за пределы разрядной сетки снова вводятся в освобождающиеся разрядные позиции. Н-р: в 8-ми разрядной сетке исходный код 10101001 при циклическом сдвиге на 2 разряда вправо будет иметь вид:
0 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
При арифметическом сдвиге производится смещение всей числовой последовательности (вправо или влево) без изменения позиции знака числа. Для положительного и отрицательного чисел представленных в прямом коде при сдвиге влево или вправо освободившиеся разряды сетки заполняются нулями. Для отрицательных чисел представленных в обратном коде, освобождающиеся разряды сетки при сдвиге числа вправо или влево заполняются единицами. Особенностью сдвига отрицательных чисел представления в дополнительном коде является то, что при сдвиге вправо освобождающиеся старшие разряды сетки заполняются единицами, а при сдвиге влево младшие разряды заполняются нулями. Н-р: при сдвиге исходного отрицательного числа представленного в дополнительном коде Хдоп = 11100100 на три разряда вправо и влево соответственно получим: Хдоп вправо = 11111100 Хдоп влево = 10100000
9. Алгебраическое сложение чисел в форме с фиксированной точкой.
При использовании обратного и дополнительного кодов операция алгебраического сложения сводится к простому арифметическому сложению. В этом случае положительные числа представляются в прямом коде, а отрицательные в обратном или дополнительном кодах. Арифметическое сложение соответствующих кодов производятся, включая и знаковые разряды, которые при этом рассматриваются как старшие разряды числа.
При использовании обратного кода возникающая единица переноса из знакового разряда циклически прибавляется к младшему разряду суммы кодов. А при использовании дополнительного кода эта единица просто отбрасывается. Например: пусть требуется сложить числа Х=+610=11002 и У=-310=-0112.
Представим данные числа в соответствующих кодах:
Хпр=0110
Упр=1011; Уобр=1100; Удоп=1101
Операции арифметического сложения данных кодов будут иметь вид:
Хпр=0110 Хпр= 0110
+Уобр =1100 +Удоп=1101
10010 10011
1 0011
(Х+У)пр=0011=+0112=310
В обоих случаях получилась одинаковая положительная сумма.
Поскольку при сложении чисел с использованием дополнительного кода возникающая единица переноса из знакового разряда просто отбрасывается, то в вычислительных устройствах представление отрицательных чисел в основном используется дополнительных код.
Если при сложении получено положительное число (0 в знаковом разряде), то оно представлено в прямом коде, а если отрицательное (1), то число представлено в дополнительном коде. Например: сменим знаки у чисел, используемых в предыдущем примере: Х= -610= -1102 и У= +310= +0112. Соответствующие коды указываемых слагаемых будут иметь вид: Хдоп= 1010 и Упр= 0011. При арифметическом сложении получаем:
Хдоп= 1010
+Упр= 0011
(Х+У)доп= 1101 → (1011)пр= -011= -3
Таким образом, если результат сложения есть отрицательное число, то оно оказывается представленным в дополнительном коде. Поскольку представления положительных чисел в прямом и дополнительном кодах совпадают, то можно сказать, что при алгебраическом сложении оба слагаемых представляются в дополнительном коде и все числа в вычислительных устройствах хранятся в дополнительном коде.
Иногда при сложении возникает переполнение разрядной сетки. В этом случае результат превышает предельно допустимое положительное или отрицательное значение, умещающееся в данную разрядную сетку. Признаком переполнения является наличие переноса единицы в знаковый разряд при отсутствии переноса из знакового разряда (это положительное переполнение), или наличие переноса из знакового разряда суммы при отсутствии переноса в ее знаковый разряд (отрицательное переполнение). При положительном переполнении результат операции положительный, а при отрицательном отрицательный, следовательно, переполнение при сложении происходит только в том случае, если значения переносов в знаковый разряд и из знакового разряда различны.
Рассмотрим примеры переполнения при четырех разрядных сетках: Пусть в первом примере складываются положительные числа +510 и +610, а во втором отрицательные –610 и –710.
Представим указанные числа в дополнительном коде:
+510= +1012 → (0101)доп
+610= +1102 → (0110)доп
-610= -1102 → (1110)пр → (1010)доп
-710= - 1112 → (1111)пр → (1001)доп
Операции сложения полученных кодов будут иметь вид:
1 1
(0101)доп (1010)доп
+(0110)доп +(1001)доп
(1011)доп (10011)доп
(+510) + (+610) = 11 (-610) + (-710) = -1310
В первом примере имеется перенос в знаковый разряд суммы и отсутствует перенос из знакового разряда. Во втором примере имеется перенос из знакового разряда при отсутствии переноса в знаковый разряд. Такое сочетание переносов свидетельствует о переполнение сетки, причем в первом случае – положительное, а во втором – отрицательное. Если произвести логический сдвиг результатов на один разряд вправо без отбрасывания младших разрядов, то получим коды чисел, соответствующие правильным результатам сложения:
(01011)доп → +10112 = 1110
(10011)доп → (11101)пр → -11012 = -1310
Однако данные коды не умещаются для наших примеров в четырех разрядной сетке. Для чисел представленных в форме с фиксированной запятой, положение запятой и знакового разряда в сетке строго фиксировано и одноименные разряды всех хранящихся в цифровых устройствах чисел имеют одинаковые позиции. В связи с этим методика выполнения операции алгебраического сложения, в дополнительном коде включая и признаки переполнения сетки для дробных числе с фиксированной запятой, ни чем не отличается от сложения целых чисел со знаком.
Таким образом, операция алгебраического сложения чисел с фиксированной запятой включает:
1. представление слагаемых в дополнительном коде
2. суммирование кодов слагаемых по правила двоичной арифметики
3. анализ переполнения разрядной сетки.