Системы счисления

 

Система счисления – это система записи чисел.

Пусть b – натуральное число, большее единицы. Тогда любое целое неотрицательное число единственным образом представимо в виде:

a = an–1bn–1 + an–2 bn–2 + ... + a1b + a0,

 

где (хотя это теорема, но ее доказательство рассматривать не будем). Подобная запись называется полиномиальной (степенной) формой представления числа. Само число a записывают так: a = an–1an–2...a0, где ai называется i-м разрядом числа. Величина b называется основанием системы счисления, n – разрядность числа, ai – цифры (алфавит системы счисления).

Подобное представление числа называют позиционным, так как «вес» каждой цифры определяется ее позицией в числе: последняя (младшая) цифра умножается на весовой коэффициент b0 = 1, а первая (старшая) цифра – на bn–1.

Обычно используют следующие системы счисления: b = 2 – двоичная (binary), b = 8 – восьмеричная (octal), b = 10 – десятичная (decimal), b = 16 – шестнадцатеричная (hexadecimal). Перевод чисел из одной системы счисления в другую может быть выполнен путем деления на основание системы счисления или с помощью разрядной сетки.

Пример. Перевести число 2610 в двоичную систему счисления. Выполняем последовательное деление 26 на 2, далее располагаем в обратном порядке последнее частное и остатки.

     
   
 
­
  ¬
    ­ ¯
      ¬  

Рис. 1.1.

Получена двоичная запись исходного числа: 2610 = 110102.

 

Шестнадцатеричная система счисления.

Современные ЭВМ состоят из электронных элементов, которые могут находиться в одном из двух устойчивых состояний. Эти состояния принято кодировать нулем и единицей. Информация внутри ЭВМ представляется цепочками нулей и единиц, поэтому для чисел наиболее естественно использовать двоичную систему счисления.

Для b = 16 представление чисел оказывается более удобным по сравнению с двоичной системой, поскольку количество цифр в шестнадцатеричном числе в четыре раза меньше, чем в двоичном. Составим таблицу двоичных представлений для чисел от 0 до
24 – 1 = 15. Арабских цифр оказывается недостаточно, поэтому цифрам, идущим после девятки, принято ставить в соответствие первые шесть букв латинского алфавита.

 

Числа от 0 до 15 в двоичной и 16-ричной системах счисления

b = 16 b = 2 b = 16 b = 2 b = 16 b = 2 b = 16 b = 2
C (12)
D (13)
A (10) E (14)
B (11) F (15)

 

Эту таблицу необходимо выучить наизусть.

Сформулируем правила перевода из двоичной системы в 16-ю и наоборот.

Переход 16 Þ 2. Заменить каждую цифру ее двоичным представлением. Например, 1A16 = 0001 1010 = 110102. (Незначащие нули можно опустить.)

Переход 2 Þ 16. Разбить число справа налево на тетрады (четверки цифр). Каждую тетраду заменить 16-ричной цифрой. Например:

 

111011011111102 = 11 1011 0111 1110 = 0011 1011 0111 1110 = 3B7E16

 

Наименьшей единицей информации принято считать бит (bit – сокращение от английского BInary digiT – двоичная цифра). Бит принимает два значения, которые кодируются нулем и единицей. Тем самым описываются два уровня сигнала, два состояния элемента и т.д. Если значение бита равно 1, то говорят, что он «установлен», если 0 – то «сброшен».

Работать с каждым битом по отдельности сложно, поэтому их объединяют в группы и рассматривают это объединение как единое целое. Наименьшей группой битов, к которым можно обращаться, является байт (byte), состоящий из 8 бит. Биты нумеруются так же, как и разряды в позиционной системе счисления: справа налево, начиная с нулевого

 

               

 

Части байта имеют свои названия: биты с 0-го по 3-й называют младшим полубайтом, а биты с 4-го по 7-й – старшим полубайтом. Полубайт также называют тетрадой. Один байт может рассматриваться как число без знака в диапазоне от 0 до 28–1=255 или число со знаком в диапазоне от -128 до +127 включительно.

 

Используют и более крупные единицы. Машинное слово (word) состоит из двух байт:

 

                               
                               
старший байт младший байт

 

Одно машинное слово может представлять собой число без знака в диапазоне от 0 до 216–1=65535 или число со знаком в диапазоне от -32768 до +32767.

 

Двойное слово (doubleword) состоит из двух машинных слов или четырех байтов:

 

               
                   
старшее слово младшее слово

 

Одно двойное слово может представлять собой число без знака в диапазоне от 0 до 232–1 или число со знаком в диапазоне от (–231) до (+231–1).

 

Как было отмечено, принятая нумерация битов (слева направо, начиная с нуля) соответствует номерам разрядов в позиционной системе счисления. Если в ячейке памяти записано двоичное число, то номер бита k является показателем в весовом коэффициенте bk позиционного представления числа. Пусть, например, в байте установлены 5-й и 2-й бит, а остальные сброшены. Это означает, что в нем записано число 1*25 + 1*22 = 32 + 4 = 36.

Нулевой бит ячейки называют также младшим битом. Крайний слева бит носит название «старший бит». Нельзя его называть первым: первым является бит «второй справа».

Для краткой записи содержимого байта можно обычно используют две 16-ричные цифры, для записи содержимого машинного слова – четыре цифры, для записи содержимого двойного слова – восемь цифр.

 

 

Лекция 8