Системы счисления
Кодирование данных двоичным кодом
Для автоматизации работы с данными, относящимися к различным типам, очень важно унифицировать их форму представления. Для этого обычно используют прием кодирования, т.е. выражение данных одного типа через данные другого типа.
Примеры систем кодирования: человеческие языки, азбуки (кодирование языка с помощью графических символов), запись математических выражений, телеграфная азбука Морзе, код Брайля для слепых, морская флажковая азбука и т.п.
Своя система кодирования существует и в вычислительной технике – она называется двоичным кодированием и основана на представлении данных последовательностью всего двух знаков: 0 и 1. Эти знаки называются двоичными цифрами или бит.
Одним битом можно выразить два понятия: 0 или 1 (да иди нет, черное или белое, истина или ложь и т.п.). Если увеличить количество битов до двух, то уже можно выразить четыре различных понятия – 00 01 10 11. Тремя битами можно закодировать уже восемь различных понятий –
000 001 010 100 101 110 101 111.
Увеличивая на единицу количество разрядов в системе двоичного кодирования, можно увеличить в два раза количество значений, которое можно закодировать:
N=2I, где I – число разрядов, N - количество значений.
Компьютер может обрабатывать числовые, текстовые, графические, звуковые и видео данные. Все эти виды данных кодируются в последовательности электрических импульсов: есть импульс (1), нет импульса (0), т.е. в последовательности нулей и единиц. Такие логические последовательности нулей и единиц называются машинным языком.
При работе с компьютерами приходится параллельно использовать несколько позиционных систем счисления – двоичную, восьмеричную, шестнадцатеричную.
Системы счисления – принятый способ наименования и записи чисел с помощью символов, имеющих определенные количественные значения.
Все системы счисления можно разделить на два класса: позиционные и непозиционные. В позиционной системе счисления количественное значение каждой цифры зависит от ее места (позиции) в числе. В непозиционных системах счисления значение цифры не зависит от места, которое он занимает в числе. Самый известный пример – римская система счисления. В этой системе счисления используется 7 знаков
I (1) V (5) X (10) L (50) C (100) D(500) M(1000)
Например, III (три) LIX (59) DLV (555)
Для записи чисел в различных системах счисления используется некоторое количество отличных друг от друга знаков. Число таких знаков в позиционной системе счисления называется основанием системы счисления.
Некоторые системы счисления
Основание | Системы счисления | Знаки |
Двоичная | 0, 1 | |
Пятеричная | 0, 1, 2, 3, 4 | |
Восьмеричная | 0, 1, 2, 3, 4, 5, 6, 7 | |
Десятичная | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 | |
Шестнадцатеричная | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E,F |
В позиционной системе счисления число может быть представлено в виде суммы произведений коэффициентов на степени основания системы счисления.
Например, 23,43(10) = 2*101 + 3*100 + 4*10-1 + 3*10-2
Т. е. значение каждого знака в числе зависит от позиции, которую занимает знак в записи числа. В примере первый знак 3 означает число единиц, второй – число сотых долей единицы.
692(10) = 6*102 + 9*101 + 2*100
1101(2) = 1*23 + 1*22 + 0*21 + 1*20 = 13(10)
112(3) = 1*32 + 1*31 + 2*30 = 14(10)
341,5(8) = 3*82 + 4*81 + 1*80 + 5*8-1 = 225,125(10)
A1F,4(16) = A*162 + 1*161 + F*160 + 4*16-1 = 2591,06(10)
Если в приведенных выше примерах произвести арифметические действия в правой части равенства, то получится число в десятичной системе счисления. Это и есть способ перевода из любой системы счисления в десятичную.
Чтобы перевести целую часть числа из десятичной системы в систему с основанием В, необходимо разделить ее на В. Остаток даст младший разряд числа. Полученное при этом частное необходимо вновь разделить на В – остаток даст следующий разряд числа и т.д. Для перевода дробной части ее необходимо умножить на В. Целая часть, полученного произведения будет первым (после запятой, отделяющей целую часть от дробной) знаком. Дробную часть произведения необходимо вновь умножить на В. Целая часть полученного числа будет следующим знаком и т.д.