Представление данных в компьютере




Кодирование информации — отображение данных на кодовые слова.

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

Виды кодов

· Код фиксированной длины (fixed-length code) — кодирование каждого символа производится с помощью строк одинаковой длины. Также он называется равномерным или блоковым кодом.

· Код переменной длины (variable-length code) — кодирование производится с помощью строк переменной длины. Также называется неравномерным кодом.

· Префиксный код — код, в котором, никакое кодовое слово не является началом другого. Аналогично, можно определить постфиксный код — это код, в котором никакое кодовое слово не является концом другого.

Все вышеперечисленные коды являются однозначно декодируемыми (англ. uniquely decodable) — для такого кода любое слово, составленное из кодовых слов, можно декодировать только единственным способом.

Пример ы кодов

· ASCII — равномерный.

· Код Хаффмана — префиксный.

· Азбука Морзе — не является ни равномерным, ни префиксным, тем не менее, однозначно декодируемый за счет использования пауз.

Любые данные (числа, символы, графические и звуковые образы) в компьютере представляются в виде последовательностей из нулей и единиц. Эти последовательности можно считать словами в алфавите {0,1}, так что обработку данных внутри компьютера можно воспринимать как преобразование слов из нулей и единиц по правилам, зафиксированным в микросхемах процессора. Такой взгляд роднит вычислительные машины с абстрактными вычислителями (машины Тьюринга, нормальные алгоритмы Маркова).

Элемент последовательности из нулей и единиц (член такой последовательности) называют битом. Именительный падеж — бит.

Как определить, какое целое число представляет тот или иной битовый набор? Возможны разные способы. Например, можно считать, что представляемое число равно количеству единиц в битовом наборе ("единичная" система счисления). Такой способ позволяет представить всего k различных целых чисел от 0 до k—1, где k — длина набора. Очевидно, что этот способ неэкономный — одному и тому же числу могут соответствовать несколько различных наборов. Количество всевозможных битовых наборов длины k равно 2k, поэтому выгоднее различным наборам поставить в соответствие различные числа. Это позволит представить 2k различных чисел. Обычно рассматривают диапазон целых чисел от 0 до 2k -1.

Существует всего (2k)! (количество перестановок из 2k элементов) способов закодировать беззнаковые числа битовыми наборами. Среди всех этих теоретически возможных способов представления чисел наиболее удобен для проведения вычислений такой: битовый набор, соответствующий числу, является k-разрядной записью этого числа в двоичной системе счисления. Таким образом, можно реализовать арифметические операции над числами, используя известные школьные алгоритмы поразрядной обработки для битовых наборов.

Выбор способа хранения целых чисел в памяти компьютера — не такая тривиальная задача, как могло бы показаться на первый взгляд. Желательно, чтобы этот способ:

· не требовал усложнения архитектуры процессора для выполнения арифметических операций с отрицательными числами;

· не усложнял арифметические действия;

· хранил бы одинаковое количество положительных и отрицательных чисел.

ASCII - кодировка

Для кодирования букв и других символов, используемых в печатных документах, необходимо закрепить за каждым символом числовой номер – код. В англоязычных странах используются 26 прописных и 26 строчных букв (A … Z, a … z), 9 знаков препинания (.,:! ";? ()), пробел, 10 цифр, 5 знаков арифметических действий (+,-,*, /, ^) и специальные символы (№, %, _, #, $, &, >, <, |, \) – всего около ста символов. Таким образом, для кодирования этих символов можно ограничиться максимальным 7-разрядным двоичным числом (в десятичной системе счисления – от 0 до 127).

Первой такой 7-разрядной кодовой таблицей была ASCII (American Standard Code for Information Interchange), опубликованная как стандарт в 1963 г. американской организацией по стандартизации American Standards Association (ASA). Позднее эта организация стала именоваться ANSI (American National Standards Institute, https://www.ansi.org/, поэтому данную кодовую таблицу называют также и ANSI). Таблица содержала 32 кода команд или управляющих символов (от 0 до 31), большая часть которых сегодня не используется, и 95 кодов (от 32 до 127) для различных знаков, достаточных для работы с английскими текстами. Характерной структурной особенностью таблицы является то, что для преобразования прописных букв в строчные достаточно к коду буквы прибавить 32. И наоборот, отнять 32 для преобразования строчных букв в прописные. Таблица ASCII подробно изучалась в курсе «Алгоритмы и алгоритмические языки» (практика 4 символьный тип).

В последующем данная таблица ASCII была принята как стандарт ведущими международными организациями по стандартизации.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-08-27 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: