русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Двоичное умножение


Дата добавления: 2015-08-31; просмотров: 2006; Нарушение авторских прав


Двоичные сумматоры

Цель работы: изучение правил выполнения арифметических действий над двоичными числами и исследование принципов построения двоичных сумматоров и вычитателей.

1. Теоретические основы лабораторной работы

Правила выполнения арифметических операций

Арифметические действия (операции) относятся к числу наиболее распространенных операций, выполняемых цифровыми устройствами (ЦУ).

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

Таблица 1

Правила и примеры выполнения арифметических операций

над двоичными числами.

Двоичное сложение

 

Слагаемые к-го разряда Сумма к-го разряда Перенос в к+1-й разряд   Пример
0 + 0 = 0   1100 – перенос
0 + 1 = 1 + 1101 – 1-е слагаемое
1 + 0 = 1 1100 – 2-е слагаемое
1 + 1 = 0   11001 – сумма

 

 

Двоичное вычитание

 

Уменьшаемое к-го разряда Вычитаемое к-го разряда Разность к-го разряда Заем из в к+1-й разряда     Пример
0 - 0 = 0   010 – заем
0 - 1 = 1 1101 – уменьшаемое
1 - 0 = 1 1010 – вычитаемое
1 - 1 = 0   0011 – разность

 

Двоичное умножение

Множимое к-го разряда Множитель к-го разряда Произве­дение к-го разряда   Пример
0 х 0 = 0   х 1010 – множимое 101 – множитель
0 х 1 = 0 1 х 0 = 0 1 х 1 = 1 + +
      110010 – произведение

Двоичное деление

Делимое Делитель Частное Пример

к-го разряда к-го разряда к-го разряда



0 : 0 = ?

0 : 1 = 0

1 : 0 = ?

1 : 1 = 1

 

Для выполнения арифметических операций над двоичными числами со знаком вводят дополнительный (знаковый) разряд, который указывает, является ли число положительным или отрицательным. Если число положительное, в знаковый разряд проставляется символ 0, если же число – отрицательное, то в знаковый разряд проставляется символ 1. Например, число (+ 5) с учетом знакового разряда (отделяется точкой) запишется как 0.101, а число (-3) – как 1.011.

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

Несколько усложняется операция сложения чисел с разными знаками (алгебраическое сложение), что равносильно вычитанию чисел. В этом случае необходимо определить большее по модулю число, произвести вычитание и присвоить разности знак большего (по модулю) числа.

Для упрощения выполнения этой операции слагаемые представляются в обратном или дополнительном кодах поскольку известно, что операция вычитания (алгебраического сложения) сводится к операции простого арифметического сложения двоичных чисел, представленных в обратном или дополнительном кодах. Положительные числа в прямом, обратном и дополнительном кодах имеют один и тот же вид, а отрицательные – различный.

Чтобы представить отрицательное двоичное число в обратном коде, надо поставить в знаковый разряд 1, а во всех остальных разрядах прямого кода заменить единицы нулями, а нули – единицами, т.е. проинвертировать число.

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

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

Число Прямой код Обратный код Дополнительный код

+6 0.110 0.110 0.110

-5 1.101 1.010 1.011

-11 1.1011 1.0100 1.0101

Поясним процедуру вычитания чисел 5 и 3, и 3 и 5. Последовательность и взаимосвязь операций представлена в табл. 2.

Таблица 2

Из приведенных примеров следует, что при использовании обратного кода в устройстве, обеспечивающем суммирование многоразрядных двоичных чисел – двоичном сумматоре, необходимо предусмотреть цепь циклического переноса. В случае использования дополнительного кода эта цепь отсутствует.

Из приведенного выше можно сделать следующее заключение. В ЦУ (в компьютере, в частности) нет надобности использовать два специализированных вычислительных устройства, одно из которых – двоичный сумматор, а другое – двоичный вычитатель. Оказывается, что применение простого математического «трюка» (представление двоичных чисел в обратном или дополнительном коде) позволяет приспособить двоичный сумматор для выполнения, как операций сложения двоичных чисел, так и операций их вычитания.

Более того, с помощью двоичного сумматора можно обеспечить также выполнение и операций умножения и деления двоичных чисел (т.е. всех четырех арифметических действий), поскольку умножение представляет собой последовательное сложение, а деление – последовательное вычитание. Примеры выполнения этих операций приведены в табл. 3.

 

Таблица 3



<== предыдущая лекция | следующая лекция ==>
Итерация массива | Двоичные сумматоры


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.