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

ПРЕДСТАВЛЕНИЕ ИНФОРМАЦИИ В ЦИФРОВЫХ АВТОМАТАХ

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

При обозначении количественных характеристик объектов и явлений используются последовательности символов. Например, для указания года используется последовательность символов "1999". Символы '1' и '9' выбираются из набора символов, в который входят также символы '0', '2', '3', '4', '5', '6', '7' и '8' (в дальнейшем апострофы при указании символа будут опускаться).

Набор символов, правил счета и записи чисел в виде последовательности символов из этого набора образуют систему счисления. Набор символов системы счисления называется алфавитом, а сами символы – цифрами.

Необходимо различать значение числа и его запись. Одно и то же число можно записать, используя различные системы счисления. Например, 35 и XXXV — это две различные записи одного и того же числа.

Рассмотрим в качестве примера запись чисел в двух системах счисления. Первой системой (S1) является арабская система счисления с алфавитом:

A = {0, 1, 2, 3, 4, 5, 6,7,8, 9}.

Во второй системе (S2) число представляется в виде последовательности единиц, и для определения значения числа необходимо сосчитать количество единиц в его записи. Алфавит второй системы счисления состоит из одной цифры: А = { 1 }.

Число одиннадцать в этих системах счисления записывается соответственно 11 и 11111111111. При записи чисел используется цифра 1. В первой системе счисления вес единицы определяется ее местоположением в записи числа (вес левой единицы равен 10, вес правой единицы равен 1), тогда как вес 1 во второй системе счисления всегда равен единице и не зависит от того, где она располагается.

Из-за указанного различия эти системы счисления относят к разным
классам систем счисления – позиционным и непозиционным системам
счисления. В позиционных системах счисления вес цифры в записи числа зависит от ее вида и от занимаемой ею позиции. Позиции цифр в таких системах счисления называются разрядами. В непозиционных системах счисления количественное значение цифры зависит только от ее вида, а в некоторых непозиционных системах счисления (например, римской) – от взаимного расположения цифр.

Непозиционные системы счисления появились раньше позиционных систем счисления. Первобытные люди использовали для обозначения чисел последовательности зарубок на бревне. Древние греки также пользовались непозиционными (аттической и ионической) системами счисления. Правила счета небольших чисел в некоторых таких системах очень просты. Например, для добавления единицы к числу в непозиционной системе счисления S2 необходимо приписать слева или справа единицу: 111 + 1 = 1111.

При записи больших чисел более приемлемым является использование позиционных систем счисления (число 1000000000 при использовании непозиционной системы счисления S2 может не поместиться на одном листе бумаги).

Число q, равное количеству различных цифр в алфавите позиционной системы счисления, называется основанием системы счисления. В алфавите арабской системы счисления S1 q равно десяти, так как алфавит включает в себя десять различных чисел: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. В соответствии со значением основания арабскую систему счисления называют десятичной системой счисления.

Существует несколько форматов записи чисел в позиционных системах счисления.

При использовании формата с фиксированной точкой запись числа представляет собой последовательность:

S an an – 1 ... а1 a0 .a–1 a–2 ... am,

где S – знак числа (плюс или минус), an, an – 1, ..., a1, а0, a–1, a– 2, ..., am – цифры из алфавита А: п, п – 1,..., 1, 0, –1, –2, ..., –тномера разрядов.

Разряд с номером n является старшим разрядом числа, а разряд с номером –m – младшим. Разряды с номерами, которые больше или равны 0, образуют целую часть числа. Разряды с номерами, меньшими 0, образуют дробную часть числа. В записи числа эти разряды отделяются разделительной (дробной) точкой (или запятой). Если дробная часть отсутствует, то число называют целым и опускают разделительную точку в записи числа. Если отсутствует целая часть, то число называют правильной дробью и перед разделительной точкой записывают 0 (25 – целое число, а 0.14 – правильная дробь).

Для определения абсолютного значения числа необходимо воспользоваться выражением:

Nq = a*nqn + a*n – 1 qn – 1 + … + a*1q1 + a*0q0+ а*–1q-1 + a*–2q–2 + ... + a*mqm,

где a*n, a*n–1, ..., a*1, а*0, a*–1, a*–2, ..., a*m значения чисел, равные собственным весам соответствующих цифр an, an–1, ..., a1, а0, a–1, a–2, ..., am.

При использовании формата с плавающей точкой запись числа представляет собой последовательность:

S an an – 1 ... а1 a0 .a–1 a–2 ... am ´ qk,

где S – знак числа (плюс или минус), an, an – 1, ..., a1, а0, a–1, a– 2, ..., am – цифры из алфавита А: п, п – 1,..., 1, 0, –1, –2, ..., –тномера разрядов, q – основание системы счисления, k – порядок числа.

Для определения абсолютного значения числа необходимо воспользоваться выражением:

Nq =(*nqn + a*n – 1 qn – 1 + …+ a*1q1 + a*0q0+ а*–1q-1 + a*–2q–2 +.. + a*mqm)´ qk,

где a*n, a*n–1, ..., a*1, а*0, a*–1, a*–2, ..., a*m значения чисел, равные собственным весам соответствующих цифр an, an–1,..., a1, а0, a–1, a–2, ..., am.

В современных ЭВМ для представления чисел используются позиционные системы счисления. Число в позиционной системе счисления состоит из п разрядов. Каждый разряд содержит одну из q цифр, где q – основание системы счисления (число различных цифр в алфавите). Поэтому для представления чисел в памяти ЭВМ требуются устройства, имеющие q устойчивых состояний (чтобы различать по состоянию устройства значения цифры в разряде).

Наиболее просто, с технической точки зрения, реализуются устройства, имеющие два устойчивых состояния (электромагнитное реле замкнуто или разомкнуто, магнитный материал намагничен или размагничен, электронная схема имеет на выходе высокое или низкое напряжение и т.д.). В связи с этим для представления чисел в ЭВМ применяется двоичная система счисления.

Двоичная система счисления имеет алфавит, состоящий только из двух цифр: 0 и 1. Основанием двоичной системы счисления является число два.

Кроме двоичной системы счисления при вводе и выводе чисел используются также десятичная, восьмеричная и шестнадцатеричная системы счисления. Запись чисел в этих системах короче и удобнее записи чисел в двоичной системе счисления.

Восьмеричная система счисления имеет алфавит из восьми цифр: 0, 1,2, 3, 4, 5, 6, 7. Основанием восьмеричной системы является число восемь.

Шестнадцатеричная система счисления состоит из шестнадцати различных цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, а, b, с, d, e, f. Основанием шестнадцатеричной системы счисления является число шестнадцать.

Вид первых шестнадцатеричных чисел от 0 до 15 в десятичной, двоичной, восьмеричной и шестнадцатеричной системах счисления приведен в табл. 4.1.

Таблица 4.1

N10 N2 N8 N16 N10 N2 N8 N16
            10    
            11    
            12   a  
              b  
            14   с  
            15   d  
            16   e  
            17   f