Читать книгу Информатика и ИТ. Нейросети онлайн
Вычитание и деление.
– необходимо инвертировать все его разряды (т.е. перевести число в обратный код — заменить его содержимое на противоположное),
– а затем прибавить единицу.
- Таблица 2.2.
- Запись числа в дополнительном коде
- Правило вычитания двух двоичных чисел:
- – Перевести вычитаемое в дополнительный код.
– Сложить эти два числа (уменьшаемое и вычитаемое в дополнительном коде).
– При сложении бит переноса не учитывать.– Полученный результат – разность.- Например, найдем разность между числами 13 и 5
- Запишем в двоичном коде: 13 (00001101), 5 (00000101).
- Переведем в дополнительный код вычитаемое: (5 (11111011).
- 210
Деление в двоичной системе происходит так же как в десятичной системе счисления.
Правила деления чисел сводятся к сдвигу разрядов числа и вычитанию. Вычитание сводится к сложению чисел, одно из которых представлено в дополнительном коде.
При выполнении действий двоичной арифметики возможны ситуации, приводящие к неточности результата или ошибке. Так, при использовании целочисленного представления возможна ситуация потери старших разрядов результата (в случае превышения разрядов сетки). Еще одна парадоксальная ошибка «целочисленной арифметики» – при использовании знакового формата при сложении или умножении положительных чисел возможно получение результата, неверного по знаку (с единицей в знаковом бите) и модулю (без учета знакового бита). Для форматов с плавающей точкой возможна другая опасность: выход за границу допустимого диапазона значений. Это может произойти, если порядок результата оказывается больше максимального возможного значения. Обычно в такой ситуации выполнение программы прерывается по ошибке – «арифметическое переполнение». Схожая ситуация, когда результат меньше минимально возможного приведет к исчезновению числа (превращению в нуль, что опасно, например, при делении).
Булевы функции. Сложение по модулю два
Говоря об арифметических операциях с двоичными числами нельзя не сказать о логических операциях с ними. В XIX веке английский математик Джордж Буль разработал основные положения алгебры логики, ныне используемые для формального описания узлов ЭВМ. В алгебре логики (булевой алгебре) различают двоичные переменные и булевы функции.