"Ассемблер и программирование для IBM PC. (IBM PC assembler language and programming)" - читать интересную книгу автора (Абель Питер, Переводчик: Ю.В.Сальников)01000001 65 00101010 42 -------- --- 01101011 107 Проверьте, что двоичная сумма 01101011 действительно равна 107. Рассмотрим другой пример: Двоичные Десятичные 00111100 60 00110101 53 -------- --- 01110001 113 Отрицательные числа --------------------- Все представленные выше двоичные числа имеют положительные значения, что обозначается нулевым значением самого левого (старшего) разряда. Отрицательные двоичные числа содержат единичный бит в старшем разряде и выражаются двоичным дополнением. Т.е., для представления отрицательного двоичного числа необходимо инвертировать все биты и прибавить 1. Рассмотрим пример: Число 65: 01000001 Инверсия: 10111110 Плюс 1: 10111111 (равно -65) Если прибавить единичные значения к числу 10111111, 65 не получится. Фактически двоичное число считается отрицательным, если его старший бит равен 1. Для определения абсолютного значения отрицательного двоичного числа, необходимо повторить предыдущие операции: инвертировать все биты и прибавить 1: Двоичное значение: 10111111 Инверсия: 01000000 Плюс 1: 01000001 (равно +65) Сумма +65 и -65 должна составить ноль: 01000001 (+65) 10111111 (-65) -------- (1) 00000000 Все восемь бит имеют нулевое значение. Перенос единичного бита влево потерян. Однако, если был перенос в знаковый pазряд и из разрядной сетки, то результат является корректным. |
|
|