Автор работы: Пользователь скрыл имя, 14 Марта 2015 в 11:20, реферат
Главной частью информатики как науки является теория информации, которая занимается изучением информации как таковой, ее появлением, развитием и уничтожением. В данной науке близко примыкает теория кодирования, которая занимается изучением форм представления информации при ее передаче по различным каналам связи, а также при хранении и обработке.
С передачей информации связан ряд проблем:
повышение эффективности передачи, для повышения скорости передачи информации по каналу требуется разработка методов кодирования;
повышение надежности передачи путем использования помехоустойчивых кодов;
Введение
1. Теоретическая часть
1.1 Кодирование информации. Формальный язык
1.2 Представление положительных и отрицательных чисел в памяти компьютера. Прямой и дополнительный код числа
1.3 Кодирование вещественных чисел. Нормализованное представление числа
1.4 Представление целых чисел в памяти ЭВМ. Индикаторы переноса и переполнения
2.Практическая часть
2.1 Индикаторы переноса и переполнения
2.2 Кодирование звуковой информации
2.3 Растровая и векторная графика
Заключение
Список используемой литературы
Главной частью информатики как науки является теория информации, которая занимается изучением информации как таковой, ее появлением, развитием и уничтожением. В данной науке близко примыкает теория кодирования, которая занимается изучением форм представления информации при ее передаче по различным каналам связи, а также при хранении и обработке.
Цель курсовой работы - рассмотреть методические подходы к изучению темы «Кодирование информации».
Методы исследования:
Язык – это система обозначений и правил для передачи сообщений. Различают языки естественные, на которых общаются люди, и искусственные (или формальные). К формальным языкам относятся языки программирования.
Язык задается алфавитом, синтаксисом и семантикой. Язык программирования – это формальный язык, обеспечивающий описание конкретных проблем, формулируемых человеком и решаемых с помощью компьютера.
Алфавит представляет собой совокупность упорядоченных в определенном смысле символов (букв) в данном языке или системе. Только символы, принадлежащие данному алфавиту, можно использовать для построения слов.
Синтаксис (от греч. syntaxis – построение, порядок) – это набор правил построения слов, конструкций и структур текста в языке или системе. Некоторые авторы включают в синтаксис и алфавит. Ошибки, возникающие при написании программы и касающиеся только синтаксиса, выявляются при синтаксическом анализе, осуществляемом транслятором.
Слово можно определить как упорядоченный набор символов в заданном алфавите, имеющий определенный смысл.
Транслятор (от англ. translator – переводчик) – это программа, производящая трансляцию программы с одного языка программирования в другой.
Под семантикой (от греч. semantikos – обозначающий) понимается смысл каждой синтаксической конструкции в языке или системе.
В языке программирования транслятор переводит синтаксические конструкции языка программирования в команды, понятные операционной системе и процессору. Смысловые ошибки транслятор выявить не может, их поиск происходит во время отладки, тестирования и использования программы человеком.
Кодирование информации
Любая информация, с которой работает современная вычислительная техника, преобразуется в числа в двоичной системе счисления.
Дело в том, что физические устройства (регистры, ячейки памяти) могут находиться в двух состояниях, которым соотносят 0 или 1. Используя ряд подобных физических устройств, можно хранить в памяти компьютера почти любое число в двоичной системе счисления. Сколько физических ячеек используемых для записи числа, столько и разрядное число можно записать. Если ячеек 8, то и число может состоять из 8 цифр.
Кодирование в компьютере целых чисел, дробных и отрицательных, а также символов (букв и др.) имеет свои особенности для каждого вида. Например, для хранения целых чисел выделяется меньше памяти (меньше ячеек), чем для хранения дробных независимо от их значения.
Однако, всегда следует помнить, что любая информация (числовая, текстовая, графическая, звуковая и др.) в памяти компьютера представляется в виде чисел в двоичной системе счисления (почти всегда).
В общем смысле кодирование информации можно определить как перевод информации, представленной сообщением в первичном алфавите, в последовательность кодов.
Надо понимать, что любые данные - это так или иначе закодированная информация. Информация может быть представлена в разных формах: в виде чисел, текста, рисунка и др. Перевод из одной формы в другую - это кодирование.
Натуральные числа (целые положительные числа)
Обычно ячейка памяти равна 1 байту, который в свою очередь равен 8 битам. Т.е. в одной ячейке памяти можно сохранить восьмиразрядное число в двоичной системе счисления. Очевидно, что минимальным таким числом будет 00000000, а максимальным 11111111.
Если представить число 11111111 в десятичной системе счисления, то мы получим число 255. Т.е в одном байте можно сохранять целые положительные числа от 0 до 255 включительно (всего 256 значений, что соответствует 28).
Для хранения чисел имеющих значение большее, чем 255, используют большее количество байтов. Так в двух байтах можно хранить число, состоящее из 16 разрядов. Можно узнать количество возможных комбинаций нулей и единиц для 16-ти разрядного числа: 216 = 65536. Т.е. в двух байтах можно сохранить любое число от 0 до 65535.
Для примера посчитаем, количество значений, которые можно сохранить, если использовать 4-х байтную ячейку памяти (такая ячейка имеет 32 разряда):
232 = 4 294 967 296,
т.е. более 4 миллиардов.
Прямой код – это представление числа в двоичной системе счисления, при котором первый (старший) разряд отводится под знак числа. Если число положительное, то в левый разряд записывается 0; если число отрицательное, то в левый разряд записывается 1.
Таким образом, в двоичной системе счисления, используя прямой код, в восьмиразрядной ячейке (байте) можно записать семиразрядное число. Например:
000011010 - положительное число 1 00011010 – отрицательное число
Количество значений, которые можно поместить в семиразрядной ячейке со знаком в дополнительном разряде равно 256. Это совпадает с количеством значений, которые можно поместить в восьмиразрядную ячейку без указания знака. Однако диапазон значений уже другой, ему принадлежат значения от -128 до 127 включительно (при переводе в десятичную систему счисления).
При этом в вычислительной технике прямой код используется почти исключительно для представления положительных чисел.
Для отрицательных чисел используется так называемый дополнительный код. Это связано с удобством выполнения операций над числами электронными устройствами компьютера.
В дополнительном коде, также как и прямом, первый разряд отводится для представления знака числа. Прямой код используется для представления положительных чисел, а дополнительный – для представления отрицательных. Поэтому, если в первом разряде находится 1, то мы имеем дело с дополнительным кодом и с отрицательным числом.
Все остальные разряды числа в дополнительном коде сначала инвертируются, т.е. заменяются противоположными (0 на 1, а 1 на 0). Например, если 1 0001100 – это прямой код числа, то при формировании его дополнительного кода, сначала надо заменить нули на единицы, а единицы на нули, кроме первого разряда. Получаем 1 1110011. Но это еще не окончательный вид дополнительного кода числа.
Далее следует прибавить единицу к получившемуся инверсией числу:
1 1110011 + 1 = 1 1110100
В итоге и получается число, которое принято называть дополнительным кодом числа.
Причина, по которой используется дополнительный код числа для представления отрицательных чисел, связана с тем, что так проще выполнять математические операции. Например, у нас два числа, представленных в прямом коде. Одно число положительное, другое – отрицательное и эти числа нужно сложить. Однако просто сложить их нельзя. Сначала компьютер должен определить, что это за числа. Выяснив, что одно число отрицательное, ему следует заменить операцию сложения операцией вычитания. Потом, машина должна определить, какое число больше по модулю, чтобы выяснить знак результата и определиться с тем, что из чего вычитать. В итоге, получается сложный алгоритм. Куда проще складывать числа, если отрицательные преобразованы в дополнительный код. Это можно увидеть на примерах ниже.
Операция сложения положительного числа и отрицательного числа, представленного в прямом коде
Прямой код числа 5: 0 000 0101
Прямой код числа -7: 1 000 0111
Два исходных числа сравниваются. В разряд знака результата записывается знак большего исходного числа.
Если числа имеют разные знаки, то вместо операции сложения используется операция вычитания из большего по модулю значения меньшего. При этом первый (знаковый) разряд в операции не участвует.
_ 000 0111
000 0101
-------------
000 0010
После выполнения операции учитывается первый разряд. Результат операции 1 000 0010, или -210.
Операция сложения положительного числа и отрицательного числа, представленного в дополнительном коде
Прямой код числа 5: 0 000 0101
Прямой код числа -7: 1 000 0111
Формирование дополнительного кода числа -7.
Прямой код : 1 000 0111
Инверсия : 1 111 1000
Добавление единицы: 1 111 1001
Операция сложения.
0 000 0101
+ 1 111 1001
--------------
1 111 1110
Проверка результата путем преобразования
к прямому коду.
Дополнительный код: 1 111 1110
Вычитание единицы : 1 111 1101
Инверсия : 1 000 0010 (или -210)
В компьютерной технике вещественными называются числа, имеющие дробную часть.
Дробные числа могут содержать большой набор цифр. Например: 0.0000345 или 10900000 (т.е очень большие или очень маленькие числа). Для удобства вещественные числа приводят к виду так называемого нормализованного представления числа. Заключается такое представление в том, что число записывается в виде произведения на основание системы счисления, возведенное в ту или иную степень. Например, предыдущие два числа в нормализованном виде будут выглядеть так: 0.345 * 10-4 и 0.109 * 108. Здесь числа 0.345 и 0.109 – мантиссы вещественных чисел, 10 – основание системы счисления, а -4 и 8 – порядки. При этом запятая (точка), разделяющая дробную и целую части ставится перед первой значащей цифрой (отличной от 0).
Нормализованная форма числа является наиболее удобной для представления дробных чисел в компьютере.
Понятно, что нормализированное представление используется не только для десятичной системы счисления. Вот примеры нормализованных записей дробных чисел в двоичной системе счисления:
101.11 = 0.10111 * 211
0.001 = 0.1 * 2-10
Здесь степени 11 и 10 – это двоичная форма десятичных чисел 3 и 2.
Нормализованная форма представления числа – это одна из форм множества вариантов экспоненциальной формы записи числа.
Пусть слово состоит из 2 байт, два слова – это 4 байта или 32 бита.
Нормализированное число одинарной точности, представленное в формате с плавающей точкой, записывается в память следующим образом: знак числа – в бите 15 первого слова (0 – для положительных и 1 – для отрицательных чисел); порядок размещается в битах 7-14 первого слова, а мантисса занимает остальные 23 бита в двух словах (с 0 по 6 бит первого слова и все биты второго слова). Нормализированное число двойной точности записывается в четыре слова памяти и отличается от представления чисел с одинарной точностью только тем, что продолжение мантиссы размещается в следующих за первым словом трех последовательных словах памяти, а всего под мантиссу в этом случае отводится 55 бит.