Кодирование данных двоичным кодом
Для автоматизации работы с данными, относящимися к различным типам, очень важно унифицировать их форму представления – для этого обычно используется прием кодирования, то есть выражение данных одного типа через данные другого типа. Естественные человеческие языки – это не что иное, как системы кодирования понятий для выражения мыслей посредством речи. К языкам близко примыкают азбуки (системы кодирования компонентов языка с помощью графических символов). История знает интересные, хотя и безуспешные попытки создания «универсальных» языков и азбук. По-видимому, безуспешность попыток их внедрения связана с тем, что национальные и социальные образования естественным образом понимают, что изменение системы кодирования общественных данных непременно приводит к изменению общественных методов, (то есть норм права и морали), а это может быть связано с социальными потрясениями. Та же проблема универсального средства кодирования достаточно успешно реализуется в отдельных отраслях техники, науки и культуры. В качестве примеров можно привести систему записи математических выражений, телеграфную азбуку, морскую флажковую азбуку, систему Брайля для слепых и многое другое. Своя система существует и в вычислительной технике – она называется двоичным кодированием и основана на представлении данных последовательностью всего двух знаков: 0 и 1. Такое представление данных связано с тем, что данные должны приниматься и обрабатываться различными электронными устройствами, входящими в состав ПЭВМ, которые работают с помощью электрических сигналов только двух уровней напряжения: высокого и низкого. Обычно сигналу высокого уровня напряжения ставят в соответствие 1, а сигналу низкого уровня напряжения – 0. Эти знаки называются двоичными цифрами, по-английски – binary digit или сокращенно bit (бит). Одним битом могут быть выражены два понятия: 0 или 1 (да или нет, черное или белое, истина или ложь и т. п.). Если количество битов увеличить до двух, то уже можно выразить четыре различных понятия: 00 01 10 11 Тремя битами можно закодировать восемь различных значений: 000 001 010 011 100 101 110 111 Увеличивая на единицу количество разрядов в системе двоичного кодирования, мы увеличиваем в два раза количество значений, которое может быть выражено в данной системе, то есть общая формула имеет вид: N = 2 m , где N – количество независимых кодируемых значений; т – разрядность двоичного кодирования, принятая в данной системе.
Теперь следует научиться представлять любое число в виде комбинации нулей и единиц. Это представление должно быть однозначным, т.е. различным числам должны соответствовать разные комбинации. В привычной нам системе записи чисел – десятичной системе счисления – для записи чисел используется десять цифр: 0,1,2,3,4,5,6,7,8,9. В этой системе любое целое неотрицательное число представляется с помощью степеней числа 10 (100 = 1; 101 = 10; 102 =100; 103 = 1000; 104 = 10000,...). Число 10 является основанием этой системы счисления. Действительно, если число меньше 10, то записывается соответствующая ему одна цифра. Если число больше либо равно 10, но меньше 100, то оно представляется двумя цифрами: первая указывает количество полных десятков, содержащихся в числе, вторая – количество единиц в последнем неполном десятке. Например: 87 = 80 + 7 = 8 ·10 + 7 = 8 · 101 + 7 · 100 = 8710 Индекс внизу указывает систему счисления, в которой записано исходное число. Если число больше либо равно 100, но меньше 1000, то для его записи используется уже три цифры. Первая цифра – это количество полных сотен, содержащихся в числе, вторая цифра – количество полных десятков в последней неполной сотне, третья цифра – количество единиц в последнем неполном десятке. Например: 645 =600 + 40 + 5 = 6 · 102 + 4 · 101 + 5 = 6 · 102 + 4 · 101 + 5 · 100 = 64510 При таком подходе для представления числа, большего либо равного 1000, но меньшего 10 000, требуется уже четыре цифры. Первая цифра – количество полных тысяч, вторая – количество полных сотен, третья – количество полных десятков и четвертая – количество единиц. Например: 2756 = 2000 + 700 + 50 + 6 = 2 · 1000 + 7 · 100 + 5 · 10 + 6 = = 2 · 103 + 7 · 102 + 5 · 101 + б · 10° = 275610
Двоичная система счисления. Как представляются числа
|