Двоичная арифметика
Двоичная арифметика
Все компьютеры используют для хранения информации двоичную систему.
Это значит, что каждый элемент хранимой информации может иметь
только два состояния. Эти состояния обозначаются как "включен" и
"выключен", "истина" и "ложь", или "1" и "0". Компьютер хранит эти
значения в виде уровней напряжения. К счастью у нас нет нужды свя-
зываться с напряжением. При написании программ мы имеем дело
только с числами. Используя простейшие числа 0 и 1, можно
выполнять очень сложные вычисления. Из-за двоичного представления
данных компьютеры используют в своих вычислениях арифметику с
двоичным основанием. Арифметика с основанием 2 пользуется только
двумя цифрами: 0 и 1. Мы обычно применяем систему исчисления по
основанию 10. В десятичной арифметике употребляется десять
различных цифр - от 0 до 9. Двоичную арифметику можно представить
себе как систему для людей, имеющих только два пальца.
Ограничение лишь десятью цифрами в десятичной арифметике не ме-
шает нам представлять более крупные числа. Мы пользуемся
многозначными числами, в каждой позиции которых стоят разные
степени 10. Самая правая цифра любого числа обозначает число
едениц, соседняя слева - количество десятков, следующая - число
сотен и т.д. Прогрессия справа налево выстраивается такая:
10**0, 10**1, 10**2 и т.д. Число 2368 в дейстительности
представляет 2 тысячи, 3 сотни, 6 десятков и 8 едениц. Фиг. 2.1
показывает ,говоря матическим языком, разложение числа 2368.
_____________________________________________________
2368 = 2 * 10**3 + 3 * 10**2 + 6 * 10**1 + 8 * 10**0
= 2000 + 300 + 60 + 8
_____________________________________________________
Фиг. 2.1 Десятичное представление
Арифметика с основанием 2 или двоичная система аналогична деся-
тичной, за исключением того, что разряды числа здесь соответствуют
степеням 2 а не 10. Числа больше 1 представляются многозначными
числами, так же как в десятичной арифметике многозначное представ-
ление получают числа больше 9. Каждая цифра в двоичной системе
называется бит от Binary digIT (двоичная цифра). Позиция каждого
бита в числе соответствует некоторой степени 2. Фиг. 2.2
показывает значение двоичного числа 101101B.
101101B = 1*2**5 + 0*2**4 + 1*2**3 + 1*2**2 + 0*2**1 + 1*2**0
= 32 + 0 + 8 + 4 + 0 + 1
= 45
____________________________________________________________
Фиг. 2.2 Двоичное представление
Мы будем пользоваться суффиксом "B" для обозначения чисел в
двоичном представлении. Этим они будут отличаться от десятичных,
не имеющих суффикса. Например, 2368 - это десятичное число, а
101101B - двоичное. В математической литературе для обозначения
системы исчисления обычно используется индекс. Мы будем
пользоваться символом "B", поскольку ассемблер IBM для обозначения
двоичных чисел применяет именно его.
В таблице Фиг. 2.3 для представления максимального десятичного
числа требуется 4 бита. Для более крупных чисел потребуется еще
больше бит. Двоичным числом состоящим из n бит можно изобразить
число величиной 2**n-1. То есть двоичное число в n бит длиной
может
Десятичное Двоичное
-----------------------
1 1
2 10
3 11
4 100
5 101
6 110
7 111
8 1000
9 1001
10 1010
-----------------------
Фиг. 2.3 Первые 10 целых
единственным образом представить любое целое от 0 до 2**n-1. Для
4-х битового примера на Фиг 2.3 самое большое такое число равно 15
(2**4-1).
Для каждого конкретного микропроцессора сществует максмальный
размер двоичных чисел, которые могут быть в нем представлены. Для
микропроцессора 8088, используемого в IBM PC, внутренние операции
производятся над числами длиной 16 бит. Максимальное целое, кото-
рое можно представить в 16 битах, равно 2**16-1 или 65 535. Однако
такая беззнаковая арифметика допускает числа только от 0 до 65 535.
Для обозначения отрицательных чисел нам потребуются изменения в
этой схеме.