Универсальный код - Unicode
Понятие информации
Понятие информации является основополагающим понятием информатики, как науки. Несмотря на постоянное использование данного термина, понятие информации является одним из самых дискуссионных в науке.
В настоящее время понятие информации является в значительной степени интуитивным, например в обычной жизни под информацией подразумевают различные данные, интересующие нас, в технике под информацией понимают сообщения, передаваемые в виде сигналов и т.п. В технике понятие информации включает сведения, которые представляют собой объект хранения, преобразования и передачи .Таким образом, можно сказать, что информация – это совокупность сведений, получаемых человеком или системой от окружающей среды посредством органов чувств (человек) или датчиков (система). Биолог, например пойдет еще дальше, он может отнести к информации и то, что человек не получал через органы чувств и не создавал сам посредством интеллектуальных действий, а хранит в себе с момента рождения – это генетический код. Американский учёный Клод Шеннон, заложивший основы теории информации, изучающей процессы передачи, приёма, преобразования и хранения информации, рассматривает информацию как снятую неопределенность о чем-либо в наших знаниях.
Люди обмениваются информацией в форме сообщений. Сообщение - это форма представления информации в виде речи, текстов, взглядов, изображений, цифровых данных, графиков и т.д. Одно и то же информационное сообщение для человека (книга, статья, картина и т.п.) содержит различное количество информации, что определяется уровнем подготовки. Что же касается компьютерной системы, то под информацией обычно подразумевают определенную последовательность закодированных символов, представленных на языке компьютера.
Основными свойствами информации являются достоверность, полнота, ясность, ценность и актуальность. С информацией связаны такие понятия, как: сигнал, сообщение и данные:
· сигнал - представляет собой любой процесс, несущий информацию.
· сообщение - это информация, представленная в определенной форме и предназначенная для передачи.
· данные - это информация, представленная в формализованном виде и предназначенная для обработки ее техническими средствами, например, персональным компьютером.
1.2. Информационные процессы и технологии
Информационные процессы (сбор, хранение, обработка и передача информации) всегда играли важную роль в науке, технике и жизни общества. В ходе эволюции человечества просматривается устойчивая тенденция к автоматизации этих процессов.
Сбор информации – это деятельность субъекта, в ходе которой он получает сведения об интересующем его объекте. Сбор информации может производиться или человеком, или с помощью технических средств и систем.
Обмен информацией – это процесс, в ходе которого источник информации ее передает, а приемник (получатель) – принимает. Если в передаваемых сообщениях обнаружены ошибки, то организуется повторная передача этой информации или возможно исправление ошибок при использовании специальных кодов, исправляющих одиночные ошибки или пакеты ошибок. Обмен информацией производится с помощью сигналов, являющихся ее физическим носителем.
Принятую информацию получатель должен зафиксировать на материальном носителе (бумажном, электронном или другом) для дальнейшего использования. Процесс формирования получаемого несистематизированного массива информации является накоплением информации.
Хранение информации - это процесс поддержания исходной информации в виде, обеспечивающем выдачу данных по запросам конечных пользователей в установленные сроки.
Обработка информации - это упорядоченный процесс ее преобразования в соответствии с алгоритмом решения задачи.
После решения задачи обработки информации результат должен быть выдан конечным пользователям в требуемом виде. Эта операция реализуется в ходе решения задачи выдачи информации. Выдача информации, как правило, производится с помощью внешних устройств компьютера в виде текстов, таблиц, графиков и других форм.
Информационная техника представляет собой материальную основу информационной технологии, с помощью которой осуществляется сбор, хранение, передача и обработка информации. В настоящее время часто используется термин информационные технологии, так как информатика очень близка по сути к технологии. Древние греки считали, что технология techne (мастерство ) + logos ( учение) – это средство для создания конечного продукта. Более емкое определение это понятие приобрело в процессе индустриализации общества. Технология – это совокупность знаний о способах и средствах реализации производственных процессов, при которых происходит качественное и количественное изменение обрабатываемых объектов.
Информационную технологию в данном контексте можно считать технологией использования программно-аппаратных средств вычислительной техники для решения задач в определенной области деятельности человека.
Под информационной технологией понимают методы, процессы, программы и множество технических средств, которые объединены в единую технологическую среду, обеспечивающую сбор, преобразование, хранение и передачу информации. Информационные технологии характеризуются следующими основными свойствами:
· объектом процесса обработки являются данные;
· целью процесса является получение искомого результата;
· средствами осуществления процесса являются программно-аппаратные вычислительные комплексы;
· процессы обработки данных разделяются на определенные действия (операции ) в соответствии с данной предметной областью;
· критериями оптимизации процесса являются своевременность доставки информации пользователю, ее надежность, достоверность, полнота.
1.2.1. Формы представления информации
Различают две формы представления информации - непрерывную (аналоговую) и дискретную (цифровую). Поскольку носителями информации являются сигналы, то в качестве них могут использоваться физические процессы различной природы. Например, процесс протекания электрического тока в цепи, процесс распространения света и т.п. Информация представляется значением одного или нескольких параметров физического процесса (сигнала), либо комбинацией нескольких параметров. Человек, например, через свои органы чувств привык к аналоговой информации, компьютер работает с цифровой информацией. Основная разница между аналоговой и цифровой информацией – это непрерывность и дискретность. Например, музыка при её восприятии является аналоговой информацией, но когда она записана нотами, то это цифровая информация. На формальном математическом примере это можно представить так. Пусть есть функция Y =X2, являющаяся непрерывной функцией, так как для любого значения Χ однозначно определено значение Υ. Когда мы эту функцию представляем в дискретной форме с выбранным шагом дискретизации аргумента Х, то мы выбираем ограниченный набор значений аргумента Χ:
Х | ||||||
Y=X2 |
Погрешность, возникающая при дискретном представлении функции,называется погрешностью оцифровки аналого-цифрового преобразования, которое можно сделать точнее, если для значений аргумента Х уменьшить интервалы, то есть шаг дискретности. Таким образом, чем меньше дискретность, тем меньше погрешность и точнее представление информации.
Сигнал называется непрерывным, если его параметр в заданных пределах может принимать любые промежуточные значения. Дискретным называется сигнал, принимающий ограниченное число значений. В цифровой технике приходится иметь дело с сигналами, принимающими только два значения: есть импульс - нет импульса, высокий уровень потенциала - низкий уровень. Этим значениям сигнала приписывают два математических символа “1” и “0”, поэтому дискретные сигналы называют цифровыми. Информация, отображаемая с помощью дискретных (цифровых) сигналов, получила название дискретной (цифровой) информации.
По способу передачи и восприятия различают такие виды информации как: визуальную – передаваемую видимыми образами и символами, аудиальную – звуками, тактильную – ощущениями, машинную – выдаваемую и воспринимаемую средствами вычислительной техники и т. п.
1.2.2. Понятие количества информации
Как измерять количество информации, полученной в результате прочтения книги, просмотра картины, фильма и т.п. В научном плане информация связывается с вероятностью выполнения того или иного события. Количеством информации называют числовую характеристику сигнала, отражающую ту степень неопределенности, которая исчезает после получения сообщения в виде определенного сигнала. Эту меру неопределенности в теории информации называют энтропией. Если в результате получения сообщения достигается полная ясность в каком-то вопросе, то говорят, что была получена полная или исчерпывающая информация и необходимости в получении дополнительной информации нет. И, наоборот, если неопределенность осталась прежней после получения сообщения, то это означает, что информация не получена (нулевая информация).
Приведенные рассуждения показывают, что между понятиями информация, неопределенность и возможность выбора существует тесная связь. Так, любая неопределенность предполагает возможность выбора, а любая информация, уменьшая неопределенность, уменьшает и возможность выбора. Частичная информация уменьшает число вариантов выбора, сокращая тем самым неопределенность. Например, человек бросает монету и наблюдает, какой стороной она упадет, одинаково вероятно, что выпадет одна или другая сторона. Такой ситуации приписывается начальная неопределенность, характеризуемая двумя возможностями. После того, как монета упадет, достигается полная однозначность и неопределенность исчезает (становится равной нулю).
Приведенный пример относится к группе событий, применительно к которым может быть поставлен вопрос типа «правда-ложь, да-нет». Количество информации, которое можно получить при ответе на вопрос типа «да-нет», называется битом ( Bit — сокращение от binary digit — двоичная единица). Бит- минимальная единица количества информации, так как получить информацию меньшую, чем 1 бит, невозможно.
В качестве других моделей получения такого же количества информации могут выступать устройства с двумя состояниями, например, двухпозиционный выключатель, триггер и другие. Включенное состояние этих объектов обычно обозначают (кодируют) цифрой 1, а выключенное - цифрой 0. Рассмотрим схему из двух выключателей, которые независимо могут быть включены или выключены и для такой схемы возможны следующие состояния:
Выключатель 1 | ||||
Выключатель 2 |
Чтобы получить полную информацию о состоянии такой схемы, необходимо задать вопросы типа «да»-«нет» для выключателей 1 и 2 соответственно. В этом случае количество информации, содержащейся в данной схеме, определяется уже 2 битами, а число возможных состояний схемы – 4. Если взять три выключателя, то количество состояний такой схемы будет равно 8 и т. д. Посредством n двоичных цифр (разрядов) можно закодировать Р значений (комбинаций): Р=2n, например с помощью байта можно закодировать 256 комбинаций кодов : 28 = 256.
Связь между количеством информации и числом состояний системы устанавливается формулой Хартли: I = log2N, где I – количество информации в битах; N -. число возможных равновероятных событий.
Информация передается посредством канала связи между приемником и источником, основными характеристиками которого являются следующие:
· пропускная способность – количество информации, передаваемой в единицу времени, измеряется в бит/с. и называется бодом: 1бод = 1бит/с. (Э. Бодо сконструировал в 1872 году телеграфный аппарат на основе пятизначного кода, что позволило передавать телеграммы со скоростью 360 знаков в минуту);
· скорость передачи информации, измеряемая количеством бит/сек или байт/сек;
· надежность передачи информации.
1.2.3. Единицы измерения информации
Существует много различных систем и единиц измерения информации, наиболее популярной единицей измерения является байт. Байт - это последовательность, состоящая из восьми взаимосвязанных битов, и он может принимать значения от 0 до 255. В технических системах используются следующие единицы измерения различных объемов информации:
· 1 килобайт ( Кб) = 210 = 1024 байта;
· 1 мегабайт (Мб) = 220 = 1024 Кбайта ;
· 1 гигабайт (Гб) = 230 = 1024 Мбайта ;
· 1 терабайт (Тб) = 240 = 1024 Гбайта;
· 1 пентабайт (Пб) = 250 = 1024 Тбайта.
Эти единицы измерения информации обычно используются для указания объемов различных видов памяти компьютера.
1.3. Системы счисления
1.3.1. Типы систем счисления
Разнообразные системы счисления подразделяются на непозиционные и позиционные. Для кодирования числа используются символы, которые называют цифрами. В качестве примера непозиционной системы счисления можно привести римскую систему, в которой для представления цифр используются буквы латинского алфавита:
I | V | X | L | C | D | M |
Например, VI = 5 + 1 = 6, а IX = 10 - 1 = 9, то есть значение цифры I в числе не зависит от ее позиции в нем.
В позиционных системах счисления значение числа, состоящего из последовательности цифр, зависит от позиции цифры в числе. Количество цифр для представления числа называют основанием системы счисления. Например, десятичная система счисления использует десять цифр от 0 до 9, а двоичная система счисления, используемая в компьютерах, включает только две цифры: 0 и 1. Место каждой цифры в числе называется позицией, а система счисления – позиционной. В общем виде любое число Х, состоящее из n цифр, может быть представлено в системе счисления с основанием q следующим образом:
Х=хn-1 *qn-1+ xn-2*qn-2 + ….x1*q1 + x0 * q0,
где xn-1, хn-2, ..., x0 - n цифр в представлении данного числа. Например, число 1356 в десятичной системе счисления будет представлено как: 135610=1*103+3*102+5*101+6*100, число 1011 в двоичной системе счисления имеет представление: 10112 = 1*23 + 0*22 + 1* 21 + 0* 20 = 1110, а число 2356 в шестнадцатиричной системе счисления представляется как: 235616 = 2*163 + 3*162+ 5*161 +6*160 = 904610 .
Практическое использование в компьютерах получили распространение системы счисления с основаниями 2 и 16. Использование в компьютерах двоичной системы счисления, а не десятичной, связано с тем, что в пока отсутствуют элементы для надежного хранения более двух состояний: 1 и 0, которые в компьютере представляются отсутствием или наличием сигнала определенного уровня напряжения.
Таким техническим элементом является триггер, а для хранения многоразрядного числа триггера объединяются в регистр, каждый разряд которого хранит одну двоичную цифру : 0 или 1. Например, один регистр из 8 триггеров хранит один байт – восемь бит информации.
1.3.2. Двоичная система счисления
Люди во все времена предпочитали использовать десятичную систему счисления, вероятно потому, что с древних времен считали по пальцам. Но не всегда люди пользовались десятичной системой счисления, в Китае, например, долгое время применялась пятеричная система счисления. Запись числа в двоичном виде намного длиннее записи числа в десятичной системе счисления. Арифметические операции, выполняемые в двоичной системе, подчиняются тем же правилам, что и в десятичной системе. Таблица сложения в двоичной системе имеет вид:
0+0=0 | 1+0=1 |
0+1=1 | 1+1=10 (1 - перенос в старший разряд) |
Таблица умножения для двоичных чисел похожа на десятичную систему счисления:
0*0=0 | 1*0=0 |
0*1=0 | 1*1=1 |
1.3.3. Шестнадцатеричная система счисления
Часто в информатике используют шестнадцатеричную систему, так как запись чисел в ней значительно компактнее записи чисел в двоичной системе. Данная система позволяет одной шестнадцатeричной цифрой представить четыре двоичных цифры. Например, при наладке аппаратных средств компьютера или разработки программ возникает необходимость "заглянуть " в память машины, чтобы оценить ее текущее состояние. Но там все заполнено длинными последовательностями нулей и единиц двоичных чисел. Эти последовательности очень неудобны для восприятия человеком, привыкшим к более короткой записи десятичных чисел.
Поэтому для упрощения восприятия двоичного числа его разбивают на группы по четыре разряда, так как для кодирования одной шестнадцатеричной цифры требуется 4 бита. В качестве цифр в шестнадцатеричной системе счисления используются 10 цифр десятичной системы и 6 первых букв латинского алфавита: A, B, C, D, E, F. Систему, имеющую основание 16, назвали шестнадцатеричной (hexadecimal). В восьмеричной (octal) системе счисления используются восемь различных цифр 0, 1, 2, 3, 4, 5, 6, 7, основание системы – 8, но данная система счисления практически не применяется в настоящее время.
1.3.4. Перевод чисел из одной системы счисления в другую
Для перевода числа, например из десятичной системы счисления в двоичную, необходимо выполнить операцию деления десятичного числа на основание двоичной системы счисления, то есть на 2. На рис.1.1 показан пример перевода десятичного числа 23 в двоичное число:
Рис. 1.1. Перевод десятичного числа 23 в двоичное число
Cтаршей цифрой сформированного двоичного кода является бит, полученный последним. Таким образом, десятичное число 23 в двоичной системе счисления равняется 10111. Для проверки правильности полученного кода можно выполнить следующее преобразование согласно формуле (1.1): 1*24 +0*23 + 1*22 +1*21 +1*20 = 23.
Перевод числа 4A3F16 из шестнадцатиричной системы счисления в десятичную систему выполняется следующим образом:
4A3F16 = 4*163+A*162+3*161+F*160 = 1900710. Необходимо помнить, что цифра A16 =1010, а F16 =1510 .
Для записи целого двоичного числа в 8- или 16-ричной системе счисления, его нужно разбить на группы по 3 или 4 цифры справа налево соответственно для 8- и 16-ричной систем счисления.
Например, двоичный код 110001112 в 8-ричной системе счисления соответствует 3078, а в 16-ричной системе - С716 .
Ниже приведена таблица соответствия десятичных, двоичных и шестнадцатиричных систем счисления:
Десятичная | Двоичная | Шестнадцатиричная |
A | ||
B | ||
C | ||
D | ||
E | ||
F |
1.4. Основы булевой алгебры
Булева алгебра широко используется для описания функционирования некоторых из аппаратных средств компьютера, поскольку компьютер использует двоичную систему счисления, а логические переменные в булевой алгебре также принимают только два значения :истина и ложь. Булева алгебра названа в честь ее разработчика - английского математика 19 века Дж. Буля. Исходным понятием логики высказываний является простое высказывание, которое не определяется через другие понятия, так как является базовым. Если смысл, содержащийся в высказывании, соответствует действительности, то высказывание называют истинным, в противном случае – ложным. Так например, высказывание «8 - четное число» является истиной, а высказывание «СПб – столица Российской Федерации» - ложью.
Булева алгебра, называемая также алгеброй логики, оперирует с переменными, например Х и У, которые могут принимать только два значения: "истина" или "ложь", кодируемые посредством двоичных цифр 1 и 0 соответственно. Операции над этими переменными выполняются логическими элементами. Элемент реализует одну из трех основных логических операций: дизъюнкция, конъюнкция, отрицание, а также комбинацию данных операций.
Под логическим элементом компьютера понимают электронную схему, реализующую элементарную логическую функцию. Для кодирования состояний 1 и 0 в логических элементах соответствующие им сигналы представляют одним из двух уровней напряжения, например 2 вольта и 0 вольт. Высокий уровень напряжения соответствует значению 1-“истина”, а низкий – “ложь” . Каждый логический элемент имеет свое условное обозначение, которое определяет выполняемую логическую функцию.
Функционирование логического элемента представляют посредством таблиц истинности, в которых определены все сочетания возможных значений входных и выходных сигналов - результатов операции для каждой из входных комбинаций. Рассмотрим функционирование основных логических схем.
Логическая схема «И».Даннаясхема выполняет операцию конъюнкции (логическое умножение) двух или более входных сигналов. Представление схемы «И» на два входа Х и У показано на рис. 1.1.
Рис. 1.2. Логическая схема «И»
Таблица истинности данной схемы имеет следующий вид:
x | y | z=x ^ y |
Знак «^» обозначает логическую операцию конъюнкции. Единица на выходе схемы «И» появляется только тогда, когда на обоих входах x и y будут единицы. Если хотя бы на одном входе ноль, то выходной сигнал будет равен нолю. Связь между входными сигналами x, y и выходным сигналом z определяется уравнением: z = x ^ y (читается как "x и y"). Операция конъюнкции обозначается символом "&" и читается как "амперсанд" (является сокращенной записью английского слова «and»). Логическая операция конъюнкция может быть использована для математического описания следующей электрической схемы (рис. 1.3):
Рис. 1.3. Схема реализации конъюнкции
Индикатор сработает только в том случае, если ключи «К1» и «К2» будут включены. Таким образом, логику работы данной схемы можно описать логической функцией конъюнкции, в которой К1 и К2 являются входными сигналами, а выходной сигнал (протекающий ток) воздействует на индикатор.
Логическая схема ИЛИ.Схема ИЛИ реализует операцию дизъюнкции двух или более логических переменных. Если на одном входе схемы ИЛИ сигнал равняется 1, то выходной сигнал также будет равен 1.
Условное обозначение двухвходовой схемы ИЛИ показано на рис.1.4. Символ "1" на схеме обозначает операцию дизъюнкции. Функциональная связь между выходным сигналом z и входными сигналами x и y представляется выражением: z = x v y (читается как "x или y").
Рис. 1.4. Логическая схема «ИЛИ»
Таблица истинности схемы ИЛИ имеет вид:
x | y | z=x v y |
Логическая схема Инверсии . Данная схема выполняет операцию отрицания. Функциональная связь между входным сигналом Х и выходным сигналом z представляется уравнением z = /x, где «/» (слэш) читается как ""Инверсия х" или Не x". Если входной сигнал равен 0, то на выходе схемы будет1, а при входном сигнале, равным 1, на выходе будет 0. Условное обозначение данного элемента на схеме представлено на рисунке 1.4.
Рис. 1.5. Логическая схема «Инверсии"
Таблица истинности схемы «Инверсия» имеет вид:
x | z |
Более сложные логические схемы для выполнения логических преобразований информации могут быть построены из этих трех простейших элементов. Сигнал, выработанный одним логическим элементом, можно подавать на вход другого элемента, это дает возможность образовывать цепочки из отдельных логических элементов. Для логических функций двух переменных существует только 16 различных функций, таблицы истинности представлены ниже:
x1 | x2 | F0 | F1 | F2 | F3 | F4 | F5 | F6 | F7 |
x1 | x2 | F8 | F9 | F10 | F11 | F12 | F13 | F14 | F15 |
В число этих функций входят 6 «вырожденных» функций одной переменной: (константы: F0=0 и F15=1; переменные: F3=x1 и F5=x2; инверсии: F12=not x1 и F10=not x2). Остальные функции двух переменных приведены ниже в таблице:
Функция | Название | Читается |
F1 | конъюнкция | x1 и x2 |
F7 | дизъюнкция | x1 или x2 |
F6 | Сложение по модулю 2 | x1 неравнозначно x2 |
F8 | стрелка Пирса | ни x1, ни x2 |
F9 | эквивалентность | x1 равнозначно x2 |
F11 | импликация | если x2, то x1 |
F14 | штрих Шеффера | неверно, что x1 и x2 |
F2 | запрет по x2 | неверно, что если x1, то x2 |
F4 | запрет по x1 | неверно, что если x2, то x1 |
F13 | импликация | если x1, то x2 (x1 -> x2) |
В логических функциях переменные имеют всего два возможных значения, поэтому количество различных функций ограничено.
1.5. Кодирование информации в компьютере
1.5.1. Понятие кодирования
Одно из основных достоинств компьютера связано с тем, что он является универсальной машиной. Каждый, кто работал на компьютере, знает, что решение математических задач составляет далеко не единственный вариант его использования. Компьютеры могут воспроизводить музыку и видеоинформацию, они позволяют поддерживать видео- или аудио-конференции посредством Интернета, выполнять графическую обработку изображений и выполнять множество других функций. Составляя информационную модель объекта, решая различные задачи мы должны определить, как представлять исходную информацию. Человек выражает свои мысли в виде предложений, составленных из слов используемого языка, в основе которого используется множество различных символов алфавита. Один и тот же набор цифровых символов может нести разное смысловое содержание. Например, множество цифр 1584456 может представлять длину объекта; расстояние между объектами; номер телефона, массу объекта, и т.п. Для представления информации могут использоваться различные коды. Для записи этих кодов необходимо знать определенные правила, то есть уметь кодировать. Для общения друг с другом мы используем код – алфавит русского языка и набор цифр. При разговоре этот код передается звуками, при письме – буквами и цифрами.
Для кодирования звуков при создании музыки композиторы используют ноты (7 основных символов) и другие специальные знаки. Кроме того, мы например, встречаемся с кодированием информации при переходе улицы посредством сигналов светофора и т.п. Кодировать информацию можно сигналами различной физической природы. Самым распространенным носителем информации пока является бумага, хотя тенденция идет к безбумажной технологии. Например, в компьютерах информация хранится на физических носителях (оперативная память, диски, регистры процессора), которые являются энергозависимыми или энергонезависимыми.
Таким образом, кодирование информации - это процесс представления определенного вида информации на носителе, например числовой, текстовой, графической, аудио, видео средствами используемого алфавита символов, а код – это набор условных обозначений для представления информации. В компьютере используются только два символа 0 и 1 для кодирования всех видов информации.
1.5.2. Кодирование числовой информации
Для представления чисел в компьютере используются два основных формата, один из которых применяется для кодирования целых чисел, а другой - для действительных чисел и называется представлением чисел в формате с плавающей точкой. Диапазон целых чисел в компьютере ограничен и зависит от разрядности памяти, используемой для их чисел. При этом разрядность обрабатываемых чисел может превышать разрядность самого процессора и используемой в нём памяти. В этом случае длинное число может занимать несколько ячеек памяти и обрабатываться группой команд процессора. При обработке все ячейки памяти, выделенные под многобайтное число, рассматриваются как одно число.
Целые числа.Различаютдва вида целых чисел: знаковые и беззнаковые.В беззнаковых числах минимально возможное число, которое можно записать двоичным кодом, равно 0, а максимальное число равняется 2n, где n – разрядность кода, например, для байта – это 255. Данные два числа определяют диапазон чисел, которые можно представить одним байтом. Для шестнадцатиразрядного кода этот диапазон соответствует 0 … 65535. В восьмиразрядном процессоре для хранения такого числа используется две ячейки памяти, расположенных в соседних адресах.
Второй вид двоичных чисел - это целые знаковые числа, в которых старший разряд используется для представления знака числа. В знаковом разряде нулем кодируется знак «+», а единицей - знак «-». В результате введения знакового разряда диапазон кодируемых чисел уменьшается. В случае двоичного восьмиразрядного знакового целого числа диапазон чисел, которые можно представить таким образом, соответствует: -128 .. +127, а для шестнадцатиразрядного числа этот диапазон будет: -32768 .. +32767. Для того, чтобы алгоритм обработки знаковых и беззнаковых чисел был единым математики предложили использовать специальный код, который получил название дополнительного двоичного кода. Для формирования дополнительного кода отрицательно числа необходимо инвертировать разряды кода кроме знакового и прибавить 1 к младшему разряду кода.
1.5.3. Представление вещественных чисел
Система вещественных чисел в математических вычислениях предполагается непрерывной и бесконечной, то есть не имеющей ограничений на диапазон и точность представления чисел. Однако в компьютерах числа хранятся в регистрах и ячейках памяти с ограниченным количеством разрядов. Поэтому система вещественных чисел, представляемых в компьютере, является дискретной и конечной.
Для обработки в компьютерах очень больших чисел, например, определяющих расстояние между удаленными объектами или очень маленьких чисел, используемых для определения объектов микромира, например, размеры электронов, пришлось бы использовать числа с очень большой разрядностью. Это не возможно практически или очень сложно с точки зрения последующей обработки представить их в компьютере из-за его ограниченной разрядности. Ограничения касаются как диапазона, так и точности представления чисел, так как диапазон машинных чисел является конечным, образуя подмножество системы вещественных чисел. Для вычислений с такими числами использование чисел с фиксированной запятой является неэффективным, поэтому для их записи была предложена следующая форма. Как известно, десятичное число 23,56 можно представить как : 0,2356 * 102, а десятичное число 0,00038 записывается как: 0,38 * 10-3 . В данном представлении дробная часть числа называется мантиссой, которая умножается на 10 в степени, соответствующей порядку числа. Такая форма записи называется записью числа с плавающей точкой. В общем случае число X с основанием системы счисления q можно записать в виде:
Х = m * q P,
где m – мантисса, представленная в виде правильной дроби (для двоичной системы счисления 0,5<=M <1), p – порядок ( целое число в двоичной системе счисления), а q - основание системы счисления. Такая форма получила название нормализованного вещественного числа и включает знак числа, мантиссу, знак порядка и порядок. Таким образом, значащие цифры числа находятся в поле мантиссы, а значение порядка показывает реальное расположение двоичной точки в разрядах мантиссы, ( поэтому и используется термин «плавающая точка»), а бит знака определяет знак числа.
В математическом процессоре персональных компьютеров (сопроцессор архитектуры Х87 ) для представления вещественных чисел используются три стандартных формата данных:
· одинарный формат- 32-разрядное нормализованное знаковое число, с 8-битным смещенным порядком и 24-битной мантиссой (старший бит мантиссы, равный 1, не хранится в памяти, и поэтому разрядность поля для хранения мантиссы равняется только 23 разрядам).
· двойной формат– это 64-битное нормализованное знаковое число, имеет 11-разрядный смещенный порядок и 53-битную мантиссу (аналогично старший бит мантиссы в явном виде не представлен, размер поля под мантиссу равен 52 разрядам).
· расширенный формат - это 80-битное знаковое число, имеет 15-битный порядок со смещением и 64-битную мантиссу, он позволяет хранить ненормализованные числа.
Сопроцессор использует такой формат действительного числа, чтобы обеспечить высокий диапазон представления чисел и высокую точность вычислений.
1.5.4. Кодирование текстовой информации
Символы для представления текста образуют алфавит, прописные и строчные буквы которого следуют в алфавитном порядке, цифры также располагаются упорядочено по возрастанию значений. Принцип кодирования алфавита состоит в том, что каждому символу алфавита сопоставляется определенное значение кода (целое число ), что позволяет кодировать также и текстовую информацию.
С помощью одного байта можно закодировать 256 различных символов. достаточных для представления текстовой информации, включая строчные и прописные буквы как русского, так и латинского алфавитов, а также знаки препинания, графические символы, скобки и т.п. Для каждого символа клавиатуры определен десятичный код от 0 до 255, представленный в двоичной системе счисления от 00000000 до 11111111 соответственно. Таким образом, компьютер различает вводимые символы в соответствии их коду.
Кодирование информации посредством байтов определяется используемыми стандартами, в основе которых лежит код ASCII (American Standart Code for Information Interchange - американский стандартный код для обмена информацией). Данный код разработан в Американском Национальном Институте стандартов ANSI - American National Standarts Institute. Первоначальная версия этой кодировки (1963 г.) была доведена до рабочей версии в 1968 году как стандарт ANSIX3.4 под именем US-ASCII.
В системе кодирования ASCII используются две таблицы кодирования, называемые базовой и расширенной. Базовая таблица кодирования использует коды от 0 до 127, а расширенная таблица использует коды от 128 до 255:
· коды 0…31 используют фирмы – разработчики аппаратуры (ПК, принтеров для кодирования специальных символов), это управляющие коды;
· коды 32…127 кодируют латиницу, цифры, арифметические операции и другие символы;
· коды 128…255 используются каждой страной самостоятельно, и это приводит к множеству кодировок даже в одной стране.
С появлением графической среды Windows, фирма Microsoft разработала новую кодовую таблицу ANSI. В настоящее время существует много различных кодовых таблиц и по этой причине текст в одной системе кодирования, может некорректно представляться в другой системе. Наиболее распространенной системой кодирования является система MS Windows, сокращенно обозначаемый как CP1251 (Code Page - кодовая страница).
Универсальный код - Unicode
В 1991 году появился новый международный стандарт Unicode (Юникод – универсальный код), который использует для кодирования одного символа два байта и поэтому с его помощью можно закодировать 65536 различных символов.
Unicode включает существующие алфавиты стран мира, а также различные математические, химические и другие символы. Юнико́д является стандартом для кодирования символов и позволяет представить символы практически всех письменных языков. Стандарт предложен некоммерческой организацией «Консорциум Юникода» (Unicode Consortium), объединяющей крупнейшие IT-корпорации. Коды в стандарте Unicode разделены на несколько областей. Диапазон с кодами от 0 до 255 содержит символы набора ASCII – кодов.
Unicode использует 16бит для кодирования символов и общее количество символов, которые можно закодировать составляет 216 (65 536). Основные операционные системы поддерживают Unicode. Операционные системы Windows для кодирования имён файлов и других системных атрибутов используют кодировку двумя байтами. В настоящее время основные языкы программирования используют Unicode. Файлы, использующие Unicode, требуют больше памяти, однако с увеличением быстродействия компьютеров и сокращением стоимости оперативной памяти и жестких дисков указанная проблема не будет со временем являться важной. Например, кодировка Unicode используется в программных продуктах MS Word и MS Excel.
1.5.5. Кодирование графической информации
Специальный раздел информатики разрабатывает методы и средства обработки изображений и называется компьютерной графикой.
Компьютерные графические изображения можно классифицировать в зависимости от способа формирования изображения на: растровую, векторную и фрактальную компьютерную графику. Известна также графика 3D (3-х мерная), которая сочетает векторный и растровый способы кодирования изображений, успешно развивается область компьютерной графики – анимация.
Растровая графика
Растровые графические изображения представляют собой матрицу, состоящую из точек, которые называются пикселами (pixel - picture element). Каждый пикселю имеет уникальный код, определяющий цвет пикселя. Графическое изображении хранится в видеопамяти компьютера.
Для кодирования монохромного изображения достаточно 1 бита ( значение 1 – белый цвет, а 0 – черный).
Для цветного дисплея пиксель должен представляться различными цветами и поэтому для кодирования, например 4-цветного изображения необходимо два бита на пиксель, например может использоваться следующее кодирование четырех цветов: 00 – черный, 01 – красный, 10 – зеленый, 11 – коричневый
При растровом кодировании, координаты каждой точки изображения и её параметры (яркость- от белой до чёрной) можно представить 8 – разрядным кодом, то есть 256 комбинациями (чёрно – белое изображение). При кодировании цветных изображений используется принцип разложения любого цвета на три составляющих (красный – Red, зеленый - Green, синий - Blue), представляемых сокращением RGB, то есть любой цвет – это композиция RGB. Если для кодирования яркости каждой из составляющих RGB использовать байт, то для одной точки нужно использовать 24 бита и говорят, что система обеспечивает различных цветов, что превышает 16.5 миллионов цветов и близко соответствует восприятию цветов человеческим глазом. И такой режим кодирования 24 битами цветной графики называют (True Color). Если использовать только 16 битов для кодирования всех точек, то такое кодирование (усеченное) называют режимом High Color. В настоящее время широко используется в компьютерах 32-битное кодирование.
Если обозначить количество различных цветов через К, а число разрядов видеопамяти для их кодирования через n ( глубина цвета), то связать их можно следующей формулой: 2n = К.
Важная характеристика растровой графики – разрешение, определяемое числом точек на единицу длины и измеряемое количеством точек на дюйм (dpi – dots per inch). Она зависит от способа оцифровки, формата файла и других параметров. Например, расстояние между соседними точками экрана монитора: 0,18 – 0,22 мм для разрешений 1024х1280, 1600х1920.
В RGB-мониторах формирование различных цветов выполняется на основе композиции базовых цветов, соответственно : красный (Red), зеленый (Green) и синий(Blue). Таким образом, получается 8 основных комбинаций, приведенных в таблице:
Красный (R) | Зеленый (G ) | Синий (B) | Цвет |
Черный | |||
Синий | |||
Зеленый | |||
Голубой | |||
Красный | |||
Розовый | |||
Коричневый | |||
Белый |
Как видно из таблицы, чтобы выполнить кодирования 8-цветного изображения необходимо иметь три бита в памяти для одного пикселя. Для представления палитры из четырех цветов необходимо использовать для кодирования одного пикселя 4 бит:. четвертый бит управляет яркостью трех цветов одновременно. Качество изображения определяет разрешающая способность монитора, определяемое количеством точек, из которых оно создается. Чем больше число строк растра и точек в каждой строке, тем будет более высокое качество изображение.
Векторная графика
Векторное графическое изображение представляет объект, который состоит из элементарных базовых объектов. Положение этих элементарных объектов определяется координатами точек и длиной радиуса. В векторной графике базовым элементом является не точка, а линия (path), описываемая функцией y = f (x), поэтому объем данных для кодирования значительно сокращается. Линия - это прямая (кривая) ( второго порядка), (третьего порядка) определенного цвета, толщины, сплошная, пунктирная, замкнутые линии могут быть заполнены цветом или другими объектами и т.п. Таким образом, векторное изображение представляется набором простых объектов, а не точек и обрабатывается специализированными программами.
Векторное изображение является многослойным по сравнению с растровой графикой. Каждый элементарный объект векторного изображения ( линия, окружность, прямоугольник и т.п. ) располагается в собственном слое, пикселы которого устанавливаются независимо от других слоев. Каждый элементарный объект векторного изображения описывается специальным языком (математических уравнения линий, кривых, окружностей и т. п.). Более сложные объекты, такие как : различные геометрические фигуры, ломаные линии) представляются в виде множества элементарных графических объектов.
Объекты в векторной графике по сравнению с растровой графики при изменении своих размеров не теряют качества, тогда как увеличение изображения в растровой графике приводит к повышению зернистости.
Фрактальная графика
Основана также на математических уравнениях, базовым фрагментом этой графики является само математическое уравнение, а не хранение электронного объекта в памяти и желаемое изображение строится по уравнениям формата графической информации. Фрактальная графика берет начало с так называемых геометрических фракталов, которые являются наиболее наглядными, так как они обладают свойством самоподобия. Двухмерные фракталы можно сформировать, путем определения некоторой ломаной фигуры, которую называют генератором. В течение одного шага алгоритма каждый из отрезков, образующих ломаную фигуру, заменяется ломаной-генератором в определенном масштабе. В итоге многократного повторения данной процедуры формируется фрактальная кривая. При кажущейся сложности сформированной кривой, общий вид ее определяется только формой генератора. Одним из примеров подобных фигур приведен на рис. 1.6. :
Рис. 1.6. Объект фрактальной графики
Для кодирования графических изображений используется более 30 форматов файлов, но наиболее популярными являются следующие:
· TIF (Tagged Image File) – файл с данным расширением используется для хранения растровых изображений высокого качества;
· PSD (Photo Shop Document) – формат программы Adobe Photoshop, один из наиболее эффективных по возможности хранения графической информации распространенного вида;
· BMP ( Bit Map ) – формат хранения растровой информации в ОС Windows и поддерживается всеми программами этой среды;
· GIF (Graphics Interchange Format) – получил распространение в Internet из-за высокой степени сжатия;
· WMF (Windows Meta File) – формат хранения векторных изображений в ОС Windows;
· PDF (Portable Document Format) – разработан фирмой Adobe, для хранения документа целиком с эффективным кодированием изображений;
· JPG (Joint Photographic Experts Group) - объединённая группа экспертов в области фотографии. Данный формат является распространенным способом сжатия фотоизображений.
1.5.6. Кодирование звука
Персональный компьютер, который содержит звуковую плату, динамики, микрофон может выполнять запись и воспроизведение аудио информации. Непрерывный аудио сигнал, преобразованный в последовательность электрических сигналов, может быть представлен двоичным кодом посредством соответствующих программ. Файл, который хранит аудио информацию в двоичном коде, называют аудио файлом.
Звуковой сигнал можно представить в виде множества звуковых волн, которые человеческое ухо способно различать примерно в диапазоне от 20 Гц до 20 КГц. При преобразовании звука в электрический сигнал, например с помощью микрофона, можно наблюдать непрерывно изменяющееся во времени напряжение и для компьютерной обработки такой аналоговый сигнал нужно преобразовать в цифровой код. Для этого следует измерять напряжение через равные промежутки времени и записывать полученные значения в память компьютера. Этот процесс называется аналого-цифровым преобразованием или оцифровкой, а устройство, которое выполняет такое преобразование называется аналого-цифровым преобразователем (АЦП). Для воспроизведения закодированного подобным образом звука, необходимо выполнить обратное преобразование с помощью цифро-аналогового преобразователя (ЦАП), а затем необходимо сгладить сформированный ступенчатый сигнал. Таким образом, процесс преобразования звуковых волн в двоичный код в памяти компьютера имеет следующий вид:
звуковая волна > микрофон > аналоговый электрический сигнал >