Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Все представленные выше двоичные числа имеют положительные значения, что обозначается нулевым значением самого левого (старшего) разряда. Отрицательные двоичные числа содержат единичный бит в старшем разряде и выражаются двоичным дополнением. Таким образом, для представления отрицательного двоичного числа необходимо инвертировать все биты и прибавить 1. Рассмотрим пример:
Число 65: 01000001
Инверсныебиты: 10111110
Плюс 1: 10111111(равно -65).
Если сложить весовые значения единиц числа 10111111, то 65 не получится. Фактически двоичное число считается отрицательным, если его старший бит, равен 1. Для определения абсолютного значения отрицательного двоичного числа просто повторяют предыдущие операции - инвертируют все биты и прибавляют 1:
Двоичное значение: 10111111
Инверсные биты: 01000000
Плюс 1: 01000001 (равно + 65)
Сумма + 65 и -65 должна составить ноль. Получим:
01000001 (+65)
10111111 (-65)
(1) 00000000
Все восемь бит имеют нулевое значение. Перенос единичного бита влево потерян. Однако если был перенос в знаковый разряд и из разрядной сетки, то результат является корректным.
Двоичное вычитание выполняется просто: инвертируется знак вычитаемого, и складываютсядва числа. Вычтем, например, 42 из 65. Двоичное представление для 42 - это 00101010, и его двоичное дополнение - 11010110:
65 01000001
+(-42)11010110
23 (1)00010111
Результат 23 является корректным. В рассмотренном примере произошел перенос в знаковый разряд и из разрядной сетки.
Если справедливость двоичного дополнения не сразу понятна, рассмотрим следующие задачи: Какое значение необходимо прибавить к двоичному числу 00000001, чтобы получить число 00000000? В терминах десятичного счисления ответом будет -1. Для двоичного счисления рассмотрим число 11111111:
11111111
Результат (1) 00000000
Игнорируя перенос (1), видим, что двоичное число 11111111 эквивалентно десятичному -1 и, соответственно,
0 00000000
-(+1)- 00000001
- 1 11111111
Покажем, как выглядит следующий уменьшающийся ряд чисел в двоичном представлении:
+3 00000011
+2 00000010
+1 00000001
0 00000000
-1 11111111
-2 11111110
-3 11111101
Фактически нулевые биты в отрицательном двоичном числе определяют его величину: рассмотрите весовые значения нулевых битов, как если бы это были единичные биты, сложите эти значения и прибавьте 1.
Дата публикования: 2014-12-11; Прочитано: 289 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!