
- •Двоичная система счисления
- •Преобразование двоичных чисел в десятичные
- •Преобразование десятичных чисел в двоичные
- •Восьмеричная система счисления.
- •Шестнадцатеричная система счисления
- •Практическая работа №2. Арифметическое сложение двоичных чисел в форме с плавающей и фиксированной запятой.
- •Числа с фиксированной и плавающей запятой
- •Числа с фиксированной запятой
- •Числа с плавающей запятой
- •Двоичная арифметика
- •Сложение
- •Вычитание
- •Умножение
- •Деление
- •Прямой, обратный и дополнительный коды
- •Прямой код
- •Обратный код
- •Дополнительный код
- •Сложение и вычитание в дополнительном коде
- •Признак переполнения разрядной сетки
- •Практическая работа №3. Минимизация переключательной функции методом карт Карно.
- •Лабораторная работа №1. Исследование преобразователя двоичного кода.
- •Лабораторная работа № 2. Изучение работы виртуального логического конвертора
- •Теоретические сведения физические основы эвм
- •Решение задач на тему: логические схемы
- •Система electronics workbench
- •Лабораторная работа № 3. Виртуальный генератор слова (word generator). Вычитание
- •Краткая теория
- •Вычитание
- •Лабораторная работа №4. Исследование работы асинхронного и синхронного rs-триггера
- •Краткая теория
- •Краткая теория
- •Лабораторная работа №6. Исследование схемы контроля на четность.
- •Краткая теория
- •Лабораторная работа №7. Изучение кода Хэмминга.
- •Краткая теория.
- •Литература:
Двоичная арифметика
Правила выполнения арифметических действий над двоичными числами определяются арифметическими действиями над одноразрядными двоичными числами.
перенос в
старший разряд
Правила выполнения арифметических действий во всех позиционных системах счисления аналогичны.
Сложение
Как и в десятичной системе счисления, сложение двоичных чисел начинается с правых (младших) разрядов. Если результат сложения цифр МЗР обоих слагаемых не помещается в этом же разряде результата, то происходит перенос. Цифра, переносимая в соседний разряд слева, добавляется к его содержимому. Такая операция выполняется над всеми разрядами слагаемых от МЗР до СЗР.
Пример.
Сложить два числа в десятичном и двоичном представлении (формат – 1 байт).
Перенос (единицы) 11 1111111
Слагаемое 1 099(10) 01100011(2)
Слагаемое 2 095(10) 01011111(2)
Сумма 194(10) 11000010(2)
Вычитание
Операция вычитания двоичных чисел аналогична операции в десятичной системе счисления. Операция вычитания начинается, как и сложение, с МЗР. Если содержимое разряда уменьшаемого меньше содержимого одноименного разряда вычитаемого, то происходит заем 1 из соседнего старшего разряда. Операция повторяется над всеми разрядами операндов от МЗР до СЗР.
Поясним это примером.
Пример.
Вычесть два числа в десятичном и двоичном представлении (формат – 1 байт).
Заем (единица) 1 01100000
Уменьшаемое 109(10) 01101101(2)
Вычитаемое 049(10) 00110001(2)
Разность 060(10) 00111100(2)
Второй вариант операции вычитания – когда уменьшаемое меньше вычитаемого – приведен в разделе представления двоичных чисел в дополнительном коде.
Умножение
Как и в десятичной системе счисления, операция перемножения двоичных многоразрядных чисел производится путем образования частичных произведений и последующего их суммирования. Частичные произведения формируются в результате умножения множимого на каждый разряд множителя, начиная с МЗР. Каждое частичное произведение смещено относительно предыдущего на один разряд. Поскольку умножение идет в двоичной системе счисления, каждое частичное произведение равно либо 0 (если в соответствующем разряде множителя стоит 0), либо является копией множимого, смещенного на соответствующее число разрядов влево (если в разряде множителя стоит 1). Поэтому умножение двоичных чисел идет путем сдвига и сложения. Таким образом, количество частичных произведений определяется количеством единиц в множителе, а их сдвиг – положением единиц (МЗР частичного произведения совпадает с положением соответствующей единицы в множителе). Положение точки в дробном числе определяется так же, как и при умножении десятичных чисел.
Пример.
Вычислить произведение 17(10)*12(10) в двоичной форме.
Естественно, что при сложении частичных произведений в общем случае возникают переносы.
Теперь рассмотрим машинный вариант операции перемножения. Общий алгоритм перемножения имеет вид
Как отмечалось выше, операция перемножения состоит в формировании суммы частичных произведений, которые суммируются с соответствующими сдвигами относительно друг друга. Этот процесс суммирования можно начинать либо с младшего, либо со старшего частичного произведения. В ЭВМ процессу суммирования придают последовательный характер, т.е. формируют одно частичное произведение, к нему с соответствующим сдвигом прибавляют следующее и т.д. (т.е. не формируют все частичные произведения, а потом их складывают). В зависимости от того, с какого частичного произведения начинается суммирование (старшего или младшего), сдвиг текущей суммы осуществляется влево или вправо. При умножении целых чисел для фиксации результата в разрядной сетке число разрядов должно равняться сумме числа разрядов в X и Y.
Рассмотрим на примере два машинных варианта выполнения умножения целых чисел: начиная со старшего частичного произведения (“старшими разрядами вперед”) и начиная с младшего частичного произведения (“младшими разрядами вперед”).
Пример.
Найти произведение двух чисел X*Y=1101(2)*1011(2)=13(10)*11(10)= 143(10).
Обозначим Pi – i-е частичное произведение.
1. Умножение старшими разрядами вперед:
2. Умножение младшими разрядами вперед: