Система кодирования в ВТ называется двоичным кодированием и основана на представлении данных последовательностью всего двух знаков 0 и 1. Эти знаки называются двоичными цифрами (binarydigit) или сокращенно bit (бит). Одним битом могут быть выражены два понятия: 0 или 1, черное или белое, истина или ложь и т. д.. Если количество битов увеличить до двух, то уже можно выразить четыре различных понятия:
00, 01, 10, 11
Тремя битами можно закодировать уже восемь различных значений:
000, 001, 010, 011, 100, 101, 110, 111
Увеличивая на единицу количество разрядов в системе двоичного кодирования, мы увеличиваем в два раза количество значений, которое может быть выражено в данной системе (формула Хартли):
i=log2N;
N=2i,
где N – количество независимых кодируемых значений;
i – разрядность двоичного кодирования.
Целые числа кодируются достаточно просто – нужно взять число и делить его пополам до тех пор, пока в остатке не останется ноль или единица. Совокупность остатков от каждого деления, записанная справ налево вместе с последним остатком и образуют двоичный аналог десятичного числа.
19:2=9(1)
9:2=4(1)
4:2=2(0)
2:2=1(0)
1
1910=100112
Для кодирования целых чисел от 0 до 255 достаточно иметь 8 разрядов двоичного кода (8 бит). 16 бит позволяют закодировать целые числа от 0 до 65535.
Для кодирования действительных чисел их предварительно преобразуют в нормализованную форму:
3.1415926=0,31415926*101
123456789=0,123456789*1010
Первая часть числа называется мантиссой, а вторая характеристикой.
Если каждому символу алфавита сопоставить определенное целое число (порядковый номер), то с помощью двоичного кода можно кодировать и текстовую информацию. Восьми двоичных разрядов достаточно для кодирования 256 различных символов. Этого хватит, чтобы выразить различными комбинациями восьми битов все символы английского и русского языков, как строчные, так и прописные, символы основных арифметических действий, знаки препинания и некоторые общепринятые специальные символы. Технически это выглядит просто, однако существуют определенные организационные сложности.
Проблема решена для английского языка. Институт стандартизации США (ANSI) ввел в действие систему кодирования ASCII (AmericanStandardCodeforInformationInterchange) – стандартный код информационного обмена. В системе ASCII закреплены две таблицы кодирования – базовая и расширенная. Базовая закрепляет значения кодов от 0 до 127, расширенная – 128 – 255.
Первые 32 кода базовой таблицы отданы производителям аппаратных средств. В этой области размещаются управляющие коды, которым не соответствуют никакие символы языков Начиная с 32 по 127 размещены коды символов английского алфавита, знаков препинания, цифр, операторов арифметических действий и некоторые вспомогательные символы. Поддержка производителей оборудования и программ вывела американский код ASCII на уровень международного стандарта и национальным системам кодирования пришлось отступить в расширенную часть системы со 128 по 255 номер. Отсутствие единого стандарта привело к множественности одновременно действующих кодировок. Только в России до сих пор действуют три стандарта.
Если кодировать символы не восьмиразрядными двоичными числами, а числами с большим количеством разрядов, то диапазон значений кодов станет значительно больше. Такая система появилась. Она основана на 16-разрядном кодировании и получила название универсальной – UNICODE. Позволяет обеспечить коды для 65536 символов, чего достаточно для размещения в одной таблице большинства языков планеты. Система требует повышенных ресурсов техники – все текстовые документы становятся вдвое длиннее.
Графические данные кодируются с помощью растра – деления поля на мельчайшие точки – растр. Поскольку линейные координаты и индивидуальные свойства каждой точки (яркость) можно выразить с помощью целых чисел, растровое кодирование позволяет использовать двоичный код для представления графических данных. Для черно-белых изображений считается достаточным иметь комбинации точек с 256 градациями серого цвета и таким образом для кодирования яркости любой точки обычно достаточно 8-разрядного двоичного числа. Для кодирования цвета одной точки нужно затратить 24 разряда. При этом система кодирования обеспечивает 16,5 миллионов различных цветов, что близко к чувствительности человеческого глаза. Такой режим называют полноцветным (TrueColor). Если уменьшить количество двоичных разрядов до 16, то диапазон цветов снижается до 65536 и такой режим называется HighColor. И, наконец, при кодировании цвета с помощью 8 бит данных можно передать 256 цветов. Такой метод называют индексным.
С наименьшей единицей представления данных мы познакомились, это бит.
Практика показала, что с отдельными битами работать неудобно. В настоящее время используются группы из 8 битов, которые называются байтом.
Мы видели, что в некоторых случаях целесообразно использовать 16, 32 разряда. Группа из 16 взаимосвязанных бит (двух байтов) называется словом. Соответственно группы из 4 байтов называются удвоенным словом.
В информатике для измерения данных используют тот факт, что разные типы данных имеют универсальное двоичное представление и потому введены единицы, основанные на нем.
Наименьшей единицей является байт. Поскольку одним байтом кодируется один символ текстовой информации, то для текстовых документов размер в байтах соответствует лексическому объему в символах.
Более крупная единица – килобайт. Условно можно считать что 1 Кбайт = 1000 байт. Условность в том, что для двоичной системы:
1 Кбайт = 210 байт = 1024 байт;
1 Мбайт = 220 байт = 1024 Кбайт;
1 Гбайт = 230 байт = 1024 Мбайт;
При хранении данных решаются две проблемы: как сохранить данные в наиболее компактном виде и как обеспечить к ним удобный и быстрый доступ. Для обеспечения доступа необходимо, чтобы данные имели упорядоченную структуру, но при этом образуется нагрузка в виде адресных данных. Поскольку адресные данные так же имеют размер и подлежат хранению, хранить данные в виде мелких единиц – таких как байты, неудобно. В более крупных – Кбайт, Мбайт хранить также неудобно, так как неполное заполнение данными.
В качестве единицы хранения данных принят объект переменной длины, называемый файлом. Файл – это последовательность произвольного числа байтов, обладающая уникальным собственным именем. Обычно в одном файле хранят данные, относящиеся к одному типу. В этом случае тип данных определяет тип файла. В определении файла особое внимание уделяется имени. Оно фактически несет в себе адресные данные, без которых данные, хранящиеся в файле, не станут информацией.
Хранение файлов организуется в иерархической структуре, которая называется файловой структурой. В качестве вершины структуры служит имя носителя, на котором сохраняются файлы. Далее файлы группируются в каталоги (папки). Путь доступа к файлу начинается с имени устройства и включает все имена папок через которые проходит. В качестве разделителя используется символ \ (обратная косая черта). Уникальность имени файла обеспечивается тем, что полным именем файла считается собственное имя вместе с путем доступа к нему. Форма записи полного имени:
<имя носителя>:\<имя папки>\...\<имя папки>\<собственное имя >
Технические и программные средства реализации информационных процессов
Слово компьютер обозначает в переводе вычислитель. В современном понятии компьютер – это электронный прибор, предназначенный для автоматизации создания, хранения, обработки и транспортировки данных.
Потребность в автоматизации обработки данных возникла очень давно. Более чем 1500 лет назад появились счеты - устройство, состоящее из набора костяшек, нанизанных на стержни.
В 1642 году французский механик Блез Паскаль разработал суммирующее устройство с шестернями, колёсами, зубчатыми рейками и т.п. Оно умело "запоминать" числа и выполнять элементарные арифметические операции.
В 1673 году Лейбниц создал механический калькулятор, который мог выполнять четыре арифметических действия. Лейбниц так же предложил возможность представление любых чисел двоичными цифрами. Он пришел к двоичной системе счисления, занимаясь исследованиями философской концепции единства и борьбы противоположностей.
Джордж Буль занимаясь исследованием законов мышления применил в логике систему формальных обозначений и правил, близкую к математической (первая половина 19 века). Впоследствии эту систему назвали логической или булевой алгеброй. Значение логической алгебры долгое время игнорировалось, поскольку ее приемы и методы не содержали практической пользы для науки и техники того времени. Однако когда появилась возможность создания средств ВТ на электронной основе, операции, введенные Булем оказались очень полезны, так как они изначально ориентировались на работу только с двумя сущностями: истина и ложь. Не вся система была использована, но четыре основные операции: И (пересечение, конъюнкция), ИЛИ (объединение, дизъюнкция), НЕ (обращение или отрицание, ), ИСКЛЮЧАЮЩЕЕ ИЛИ – лежат в основе всех видов процессоров современных компьютеров.
1936 г. Алан Тьюринг и независимо от него Э. Пост выдвинули и разработали концепцию абстрактной вычислительной машины. Они доказали принципиальную возможность решения автоматами любой проблемы при условии возможности её алгоритмизации.
1945 г. Джон фон Нейман в отчёте "Предварительный доклад о машине Эдвак" сформулировал основные принципы работы и компоненты современных компьютеров.