
- •Тема 1 Информация и данные
- •1.1. Информация
- •1.2. Данные
- •1.2.1. Носители данных
- •1.2.2. Операции с данными
- •1.2.3. Кодирование данных
- •1.2.3.1. Кодирование целых и действительных чисел
- •1.2.3.2. Кодирование текстовых данных
- •1.2.3.3. Универсальная система кодирования текстовых данных
- •1.2.3.4. Кодирование графических данных
- •1.2.3.5. Мультимедиа (звук, изображение)
- •1.2.3.6. Цифровое видео
- •1.2.3.7. Кодирование мультимедийных данных
- •1.2.4. Основные структуры данных
- •1.2.4.1. Линейные структуры (списки данных, векторы данных)
- •1.2.4.2. Табличные структуры (таблицы данных, матрицы данных)
- •1.2.4.3. Многомерные таблицы.
- •1.2.4.4. Иерархические структуры данных
- •1.2.4.5. Упорядочение структур данных
- •1.2.4.6. Адресные данные.
- •1.2.5. Файлы и файловая структура
- •1.2.5.1. Единицы представления данных
- •1.2.5.2. Единицы измерения данных
- •1.2.5.3. Файлы
- •1.2.5.4. Файловые системы
- •1.3. Информатика
- •1.3.1. Предмет и задачи информатики
- •1.3.2. Системное и прикладное программное обеспечение
- •1.3.3. Основная задача информатики
- •Тема 1 Информация и данные 1
- •1.1. Информация 1
- •1.2. Данные 2
- •1.3. Информатика 33
- •Тема 36 a
1.2.3.1. Кодирование целых и действительных чисел
Для кодирования целых чисел двоичным кодом достаточно взять целое число и делить его на 2, пока в делимом не получится единица. Совокупность остатков от каждого деления, записанная справа налево вместе с последним остатком и образует двоичный аналог десятичного числа.
Например, рассмотрим число 23:
23:2=11 с остатком 1
11:2=5 с остатком 1
5:2=2+1 с остатком 1
2:2=1+0 с остатком 0
1:2=0+1 с остатком 1
Таким образом, 2310=101112
Итак, мы делим каждое частное на 2 и записываем в остаток 1 или 0. Продолжать деление надо пока в делимом не будет 1. Ставим числа из остатка друг за другом, начиная с конца. В результате получаем число 23 в двоичной записи (начиная с конца): 10111.
Для перевода i-разрядного числа в двоичном коде xixi-1 xi-2 x3x2 x1 в десятичный код нужно воспользоваться формулой
N2=xi*2i-1+ xi-1*2i-2+ xi-2*2i-3+ x2*21+ x1*20.
Для кодирования целых чисел от 0 до 255 нужно иметь 8 разрядов двоичного кода (8 бит). 16 разрядов позволяют закодировать целые числа от 0 до 65535 и т.д.
Для кодирования действительных чисел используют 80-разрядное кодирование. Число приводится предварительно в нормализованную форму:
5,765432=0,5765432*101
500000=0,5*106
1234456789=0,123456789*1010
Первая часть числа называется мантиссой, вторая – характеристикой. Большая часть из 80 бит отводится для хранения мантиссы (вместе со знаком), а некоторое фиксированное количество разрядов отводится для хранения характеристики (тоже со знаком).
1.2.3.2. Кодирование текстовых данных
Если каждому символу алфавита сопоставить определенное целое число (например, порядковый номер), то с помощью двоичного кода можно кодировать текстовую информацию. Восьми двоичных разрядов достаточно для кодирования 256 различных символов. Этого хватит, чтобы выразить различными комбинациями восьми битов все символы английского и русского языков, как строчные, так и прописные, а также знаки препинания, символы основных арифметических действий и некоторые общепринятые специальные символы, например символ «§».
Технически это выглядит очень просто, однако всегда существовали достаточно веские организационные сложности. В первые годы развития вычислительной техники они были связаны с отсутствием необходимых стандартов, а в настоящее время вызваны, наоборот, изобилием одновременно действующих и противоречивых стандартов. Для того чтобы весь мир одинаково кодировал текстовые данные, нужны единые таблицы кодирования, а это пока невозможно из-за противоречий между символами национальных алфавитов, а также противоречий корпоративного характера.
Для английского языка, захватавшего де-факто нишу международного средства общения, противоречия уже сняты. Институт стандартизации США (ANSI – American National Standard Institute) ввел в действие систему кодирования ASCII (American Standard Code for InformationInterchange- стандартный код информационного обмена США). В системе ASCII закреплены две таблицы кодирования - базовая и расширенная. Базовая таблица закрепляет значения кодов от 0 до 127, а расширенная относится к символам с номерами от 128 до 255.
Первые 32 кода базовой таблицы, начиная с нулевого, отданы производителям аппаратных средств (в нервую очередь производителям компьютеров и печатающих устройств). В этой области размещаются так называемые управляющие коды, которым не соответствуют никакие символы языков, и, соответственно, эти коды не выводятся ни на экран, ни на устройства печати, но ими можно управлять тем, как производится вывод прочих данных.
Начиная с кода 32 по код 127 размещены коды символов английского алфавита, знаков препинания, цифр, арифметических действий и некоторых вспомогательных символов.
Аналогичные системы кодирования текстовых данных были разработаны и в других странах. Так, например, в СССР в этой области действовала система кодирования КОИ-7 (код обмена информацией, семизначный). Однако поддержка производителей оборудования и программ вывела американский код ASCII на уровень международного стандарта, и национальным системам кодирования пришлось «отступить» во вторую, расширенную часть системы кодирования, определяющую значения кодов со 128 по 255. Отсутствие единого стандарта в этой области привело к множественности одновременно действующих кодировок. Только в России можно указать три действующих стандарта кодировки и еще два устаревших.
Так, например, кодировка символов русского языка, известная как кодировка Windows-1251, была введена «извне» - компанией Microsoft, но, учитывая широкое распространение операционных систем и других продуктов этой компании в России, она глубоко закрепилась и нашла широкое распространение. Эта кодировка используется на большинстве локальных компьютеров, работающих на платформе Windows.
Другая распространенная кодировка называется КОИ-8 (код обмена информацией, восьмизначный) – ее происхождение относится ко временам действия Совета Экономической Взаимопомощи государств Восточной Европы. Сейчас кодировка КОИ-8 широко распространена в компьютерных сетях на территории России и в российском секторе Интернета.
Международный стандарт, в котором предусмотрена кодировка символов русского алфавита, называется ISO (International Standard Organization – Международный институт стандартизации). На практике эта кодировка используется редко.
На компьютерах,
работающих в операционных системах
MS-DOS,
могут действовать еще две кодировки –
кодировка ГОСТ
и
ГОСТ-альтернативная.
Первая из них устаревшая, а вторая
используется по сей день.
В связи с изобилием систем кодирования текстовых данных, действующих в России, возникает задача межсистемного преобразования данных - это одна из распространенных задач информатики.