Разность двоичных чисел равна

Разность двоичных чисел равна

Все операции с числами в ЭВМ реализуются в АЛУ (арифметико-логическом устройстве) процессора. Числа, которые участвуют в операциях, называются операндами. Главную роль в АЛУ играет «сумматор» в связи с тем, что все арифметические операции сводятся к простым элементарным действиям с прямыми, обратными и дополнительными кодами чисел. Основной операцией в сумматоре является сложение.

Прямой код числа – само исходное число.

Обратный код числа – инвертированный поразрядно прямой код , в этом случае производится замена 0→1, 1→0. Например, число в прямом коде 01102, а в обратном коде 10012

Дополнительный код образуется добавлением 1 к младшему разряду (крайнему справа) обратного кода.

1. Операция сложениядля положительных чисел заменяется поразрядным сложением операндов в прямых кодах.

Пример №1.1 012 + 012=102 или в десятичной системе счисления 1+1=2

Пример №1.2 000010112 + 000001102=? или в десятичной системе счисления 11+ 6=?

Первое слагаемое 00001011 (в прямом коде)

Второе слагаемое 00000110 (в прямом коде)

Результат сложения : 00001011

2. Операция вычитания для положительных чисел заменяется сложением операндов, причем второй операнд берется в дополнительном коде, т.е. А + В=А + (- В) , далее от полученного результата сложения в старшем (левом) разряде следует вычесть 1.

Пример № 2.1 10-7= 000010102-000001112=?

Переведем вычитаемое число 00000111 сначала в обратный код 11111000, а затем в дополнительный: 11111000+00000001=11111001 Теперь сложим уменьшаемое число ( в прямом коде) и вычитаемое (в дополнительном) коде:

100000011 Отбрасываем слева 1, тогда получим результат : 112=3

34 — 22 = 34 + (- 22) =12

Запишем этот пример в двоичном виде: 100010 — 010110 = 001100

Дополнительный код вычитаемого числа 10110 будет такой: 01001 + 00001 = 01010

Тогда исходный пример можно заменить сложением так 100010 + 01010 = 101100 Отбросим одну единицу в старшем разряде, получим 001100. Отбросим также незначащие нули слева и получим 11002=12, то есть пример решён правильно.

Задача № 3: Если 8-разрядный дополнительный код равен 101100112 , то десятичное значение данного числа равно …?

Решение: 1) Вычтем 1 из младшего разряда дополнительного кода, получим 101100102

2) Переведем полученный код числа в обратный код, получим 010011012

3) Переведем полученное двоичное число в десятичное, получим 77

3. Операция умножения двоичных чисел сводится к «школьному» умножению в столбик

Пример № 3.2. 1012 x1102=5 x 6=30

4. Операция деления двоичных чисел сводится к «школьному» делению, например:

Сначала мы записываем делимое. В данном случае это число 1000001 (в десятичном виде 65). Затем, справа от него, рисуем угол. В верхней части угла записываем делитель. В нашем случае – это 101 (десятичное 5). Затем мы начинаем находить частное поразрядно Нам придется лишь проверять не больше ли делитель, чем число, составляющее первые три разряда делимого. Как видим первые три разряда составляют число 100, что меньше, чем 101. Поэтому берем первые четыре разряда делимого. Число, составляющее первые четыре разряда делимого (1000) естественно больше делителя. Поэтому мы записываем делитель под первыми четырьмя разрядами делимого и вычитаем эти два числа. Операцию вычитания каждый раз заменяем сложением вычитаемого в дополнительном коде. Получаем разность 11. В первый разряд частного записываем 1. Находим следующий разряд частного. Для этого сносим следующий разряд делимого (так же, как это делается при делении в десятичной системе). Проверяем – можно ли теперь вычесть из него 101. Число 110 больше, чем 101. Поэтому мы записываем единицу в следующий разряд частного и производим вычитание этих двух чисел. Разность равна 1. Далее ищем третий разряд частного. Сносим еще один ноль с очередного разряда делимого. Но из числа 10 невозможно вычесть 101. 10 меньше, чем 101. Поэтому записываем в очередной разряд частного ноль и сносим последний разряд делимого. Теперь вычитание возможно. Более того, результат вычитания равен нулю. Это означает во-первых, что последний разряд частного равен единице, а во-вторых то, что число 1000001 поделилось на 101 без остатка. Результат деления равен 1101 (десятичное 13).

Читайте также:  Самсунг джи 2 прайм карта памяти

Не нашли то, что искали? Воспользуйтесь поиском:

Лучшие изречения: Для студентов недели бывают четные, нечетные и зачетные. 9870 — | 7668 — или читать все.

Презентация к уроку

Загрузить презентацию (100,9 кБ)

Внимание! Предварительный просмотр слайдов используется исключительно в ознакомительных целях и может не давать представления о всех возможностях презентации. Если вас заинтересовала данная работа, пожалуйста, загрузите полную версию.

Цели урока: (слайд 2)

  • Познакомить учащихся с двоичной системой счисления.
  • Сформировать навыки выполнения арифметических действий с двоичными числами
  • Ход урока

    I. Начало урока

    Учитель: Для того чтобы лучше освоить двоичную систему счисления, необходимо освоить выполнение арифметических действий над двоичными числами.

    Все позиционные системы счисления ”одинаковы”, а именно, во всех них арифметические операции выполняются по одним и тем же правилам:

    • справедливы одни и те же законы арифметики: коммутативный, ассоциативный, дистрибутивный;
    • справедливы правила сложения, вычитания, умножения и деления столбиком;
    • Правила выполнения арифметических операций опираются на таблицы сложения и умножения.

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

    II. Изучение нового материала

    1. Сложение. (Слайды 5,6)

    Таблица сложения двоичных чисел.

    + 1
    1
    1 1 10

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


    Вычитание. (Слайды 9,10)

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

    1
    11
    1 1


    Умножение. (Слайды 7,8)

    Операция умножения выполняется с использованием таблицы умножения по обычной схеме с последовательным умножением множимого на очередную цифру множителя.

    * 1
    1 1 1

    При делении столбиком приходится в качестве промежуточных результатов выполнять действия умножения и вычитания. Но в двоичной системе счисления промежуточные умножения сводятся у умножению делителя или на 0 или на 1, поэтому наиболее сложной остаётся операция вычитания, которую надо научиться делать безошибочно.

    III. Закрепление изученного. (слайд 12)

    №1 Выполните сложение: №2 Выполните умножение:
    1) 100101+101= 2) 1) 100001*10010=
    3) 101101+111= 4) 2) 110001*1011=
    5) 11001,1+11,01= 6) 3) 101*101=
    №3 Выполните вычитание: №4 Выполните деление:
    1) 1000101-1010= 2) 1) 10000:10=
    3) 1101101-110= 4) 2) 101101:101=
    5) 110101-101= 6) 3) 100011:11=

    Ребята выполняют работу самостоятельно. Потом открыть слайд с ответами.

    Ответы. (Слайд 13)

    №1 Выполните сложение: №2 Выполните умножение:
    1) 100101+101= 101010 2) 1) 100001*10010=1001010010
    3) 101101+111= 110100 4) 2) 110001*1011=1000011011
    5) 11001,1+11,01=11100,11 6) 3) 101*101=11001
    №3 Выполните вычитание: №4 Выполните деление:
    1) 1000101-1010= 111011 2) 1) 10000:10=100
    3) 1101101-110= 1100111 4) 2) 101101:101=1001
    5) 110101-101= 110000 6) 3) 100011:11=1011

    IV. Домашняя работа (слайд 14)

    1. Выучить правила выполнения арифметических действий в двоичной системе счисления.

    Читайте также:  Что такое маршрутизатор wifi и где он

    2. Выполните действия:

    1. 110010+11,01
    2. 1111001-1101
    3. 10101,1*11
    4. 10101110:101

    Популярное

    • Устройство и программирование микроконтроллеров AVR для начинающих — 143
    • Трехканальный термостат, терморегулятор, таймер на ATmega8 — 70
    • Двухканальный термостат, терморегулятор на ATmega8 — 67

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

    Прямой, обратный и дополнительный коды двоичного числа — способы представления двоичных чисел с фиксированной запятой в компьютерной (микроконтроллерной) арифметике, предназначенные для записи отрицательных и неотрицательных чисел


    Мы знаем, что десятичное число можно представить в двоичном виде. К примеру, десятичное число 100 в двоичном виде будет равно 1100100, или в восьмибитном представлении 0110 0100. А как представить отрицательное десятичное число в двоичном виде и произвести с ним арифметические операции? Для этого и предназначены разные способы представления чисел в двоичном коде.
    Сразу отмечу, что положительные числа в двоичном коде вне зависимости от способа представления (прямой, обратный или дополнительный коды) имеют одинаковый вид.

    Прямой код

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

    Прямой код используется в двух вариантах.
    В первом (основной) — для записи только неотрицательных чисел:

    В этом варианте (для восьмибитного двоичного числа) мы можем записать максимальное число 255 (всего чисел 256 — от 0 до 255)

    Второй вариант — для записи как положительных, так и отрицательных чисел.
    В этом случае старший бит (в нашем случае — восьмой) объявляется знаковым разрядом (знаковым битом).
    При этом, если:
    — знаковый разряд равен 0, то число положительное
    — знаковый разряд равен 1, то число отрицательное

    В этом случае диапазон десятичных чисел, которые можно записать в прямом коде составляет от — 127 до +127:

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

    Обратный код

    Обратный код — метод вычислительной математики, позволяющий вычесть одно число из другого, используя только операцию сложения.
    Обратный двоичный код положительного числа состоит из одноразрядного кода знака (битового знака) — двоичной цифры 0, за которым следует значение числа.
    Обратный двоичный код отрицательного числа состоит из одноразрядного кода знака (битового знака) — двоичной цифры 1, за которым следует инвертированное значение положительного числа.

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

    При 8-битном двоичном числе — знаковый бит (как и в прямом коде) старший (8-й)

    Диапазон десятичных чисел, который можно записать в обратном коде от -127 до + 127

    Арифметические операции с отрицательными числами в обратном коде:

    1-й пример (для положительного результата)
    Дано два числа:
    100 = 0110 0100
    -25 = — 0001 1001
    Необходимо их сложить:
    100 + (-25) = 100 — 25 = 75

    Читайте также:  Мегафон домашний интернет тарифы

    1-й этап
    Переводим число -25 в двоичное число в обратном коде:
    25 = 0 001 1001
    -25= 1 110 0110
    и складываем два числа:
    0 110 0100 (100) + 1 110 0110 (-25) = 1 0 100 1010, отбрасываем старшую 1 (у нас получился лишний 9-й разряд — переполнение), = 0 100 1010
    2-й этап
    Отброшенную в результате старшую единицу прибавляем к результату:
    0 100 1010 + 1 = 0 100 1011 (знаковый бит = 0 , значит число положительное), что равно 75 в десятичной системе

    2-й пример (для отрицательного результата)
    Дано два числа:
    5 = 0000 0101
    -10 = — 0000 1010
    Необходимо их сложить:
    5 + (-10) = 5 — 10 = -5

    1-й этап
    Переводим число -10 в двоичное число в обратном коде:
    10 = 0 000 1010
    -10= 1 111 0101
    и складываем два числа:
    0 000 0101 (5) + 1 111 0101 (-10) = 1 111 1010 (знаковый бит = 1 , значит число отрицательное)

    2-й этап
    Раз результат получился отрицательный, значит число представлено в обратном коде.
    Переводим результат в прямой код (путем инвертирования значения, знаковый бит не трогаем):
    1 111 1010 —-> 1 000 0101
    Проверяем:
    1 000 0101 = — 0000 0101 = -5

    Обратный код решает проблему сложения и вычитания чисел с различными знаками, но и имеет свои недостатки:
    — арифметические операции проводятся в два этапа
    — как и в прямом коде два представления нуля — положительный и отрицательный

    Дополнительный код

    Дополнительный код — наиболее распространенный способ представления отрицательных чисел. Он позволяет заменить операцию вычитания на операцию сложения и сделать операции сложения и вычитания одинаковыми для знаковых и беззнаковых чисел.

    В дополнительном коде (как и в прямом и обратном) старший разряд отводится для представления знака числа (знаковый бит).

    Диапазон десятичных чисел которые можно записать в дополнительном коде от -128 до +127. Запись положительных двоичных чисел в дополнительном коде та-же, что и в прямом и обратном кодах.

    Дополнительный код отрицательного числа можно получить двумя способами
    1-й способ:
    — инвертируем значение отрицательного числа, записанного в прямом коде (знаковый бит не трогаем)
    — к полученной инверсии прибавляем 1
    Пример:
    Дано десятичное число -10
    Переводим в прямой код:
    10 = 0 000 1010 —-> -10 = 1 000 1010
    Инвертируем значение (получаем обратный код):
    1 000 1010 —-> 1 111 0101
    К полученной инверсии прибавляем 1:
    1 111 0101 + 1 = 1 111 0110 — десятичное число -10 в дополнительном коде

    2-й способ:
    Вычитание числа из нуля
    Дано десятичное число 10, необходимо получить отрицательное число (-10) в дополнительном двоичном коде
    Переводим 10 в двоичное число:
    10 = 0 000 1010
    Вычитаем из нуля:
    0 — 0000 1010 = 1 111 0110 — десятичное число -10 в дополнительном коде

    Арифметические операции с отрицательными числами в дополнительном коде

    Дано: необходимо сложить два числа -10 и 5
    -10 + 5 = -5
    Решение:
    5 = 0000 0101
    -10 = 1111 0110 (в дополнительном коде)
    Складываем:
    1111 0110 + 0000 0101 = 1111 1011, что соответствует числу -5 в дополнительном коде

    Как мы видим на этом примере — дополнительный код отрицательного двоичного числа наиболее подходит для выполнения арифметических операций сложения и вычитания отрицательных чисел.

    Вывод:
    1. Для арифметических операций сложения и вычитания положительных двоичных чисел наиболее подходит применение прямого кода
    2. Для арифметических операций сложения и вычитания отрицательных двоичных чисел наиболее подходит применение дополнительного кода

    (27 голосов, оценка: 4,89 из 5)

    Ссылка на основную публикацию
    Работа с far manager
    Фар менеджер - один из самых удобных файловых менеджеров, рассчитанный на работу с файлами и папками на дисках, прежде всего,...
    Программы для поиска транспорта
    Грузы Широкие возможности фильтров позволяют найти точно подходящую для вашего транспорта загрузку. Несколько тысяч свежих предложений. Каждый сможет найти себе...
    Программы для полной очистки жесткого диска
    Подборка программ, которые помогут очистить жёсткий диск Windows компьютера и его съёмные устройства от ненужных файлов. Эти инструменты помогут найти...
    Работа с классами python
    Серия контента: Этот контент является частью # из серии # статей: Этот контент является частью серии: Следите за выходом новых...
    Adblock detector