Двоичная арифметика



Двоичная арифметика


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





Содержание раздела