Все компьютеры используют для хранения информации двоичную систему.  Это значит, что каждый элемент хранимой информации может иметь  только два состояния.  Эти состояния обозначаются как "включен" и  "выключен", "истина" и "ложь", или "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.  Для обозначения отрицательных чисел нам потребуются изменения в  этой схеме.