Представление информации

Информация в компьютере представлена в виде нулей и единиц, называемые битами. Одного бита хватает, что бы представить два различных значения,
однако этого не достаточно, чтобы представить что-нибудь существенное. Поэтому, чтобы представление имело место быть, из восьми битов формируют блок, который называют байтом.
В одном байте можно представить 28 = 256 различных значений. С помощью байтов можно представить числа, текстовые символы, графические цвета, звук и видео.
Рассмотрим как с помощью нулей и единиц можно представить числа, текст и графику.

Числовая информация

Первый вид данных с которым стали работать ЭВМ это числа. Числа представлены в двух форматах: формат с фиксированной точкой и формат с плавающей запятой.
Они представлены в ячейках 1 байт, 2 байта, 4 байта и 8 байт.

Целые положительные числа для одного байта

Для представления целого положительного числа N в форме с фиксированной точкой состоящего из одного байта его нужно:

  1. Перевести число N в двоичную систему счисления
  2. Полученный результат дополнить слева нулями до восьми разрядов

Задача. Представим в одном байте число N = 5310

Решение:

  1. Переведём в двоичную систему, получим 1101012
  2. Дополним слева нулями 001101012

Диапазон положительных (беззнаковых) чисел в одном байте лежит от минимального восьми нулей до максимального восьми единиц.
В десятичном представлении от 0 до 255, 28=256.

Целые отрицательные числа для одного байта

А как представить отрицательные числа, если минимальное число это ноль? В этом случае используют знаковые числа – старший(левый) бит используют для знака. Если в нём 0, то знака нет – число положительное и остальные семь бит используют для числа ≥ 0, если в старшем бите 1, то знак есть – число отрицательное и остальные семь бит используют для числа < 0.

Диапазон положительных знаковых чисел для одного байта от 0 до 127, а отрицательных от -1 до -128.

Запись целого отрицательного числа -N в байте:

  1. Получить внутреннее(двоичное) представление целого положительного числа N.
  2. Получить обратный код этого числа заменой 0 на 1, и 1 на 0.
  3. К полученному числу прибавить 1.

Полученная форма представления знаковых чисел позволяет избавиться от операции вычитания, а вместо её использовать операцию сложения. Т.е. сложение положительного с отрицательным числом, даёт вычитание:

N – M = N + (-M), значит N + (-N) = 0

распишем последнее равенство в двоичном виде на примере числа 53:

53 — 001101012.

-53 — 110010112.

Получаем: 001101012 + 110010112 = 1000000002

В результате после сложения в восьми битах ноль, а единица вышла за пределы байта и не учитывается.

«Многобайтовые» целые числа

Т.к. одного байта не хватает для представления чисел больших чем 255, используют соседние байты. Двух байтные или 16 битные числа, имеют диапазон для незнаковых от 0 до 65535, а для знаковых -32768..32767.
Четырёх байтные или 32 битные числа, имеют диапазон для незнаковых от 0 до 4294967296, а для знаковых -2147483648..2147483647.

Числа с плавающей запятой

Числа с плавающей запятой R представлены в форме произведения мантиссы m на основание системы счисления p в некоторой степени n или порядка:

R = m × pn

Порядок(степень) показывает на какую позицию и в каком направлении должна сместиться запятая. Например, число 25,324 можно представить как:

2,5324 × 101

0,25324 × 102

0,025324 × 103

0,0025324 × 104

и т.д. Следовательно, представление числа в форме с плавающей запятой неоднозначно. Чтобы эту неоднозначность убрать в ПК используют нормализованную форму чисел с плавающей запятой. Мантисса(значащие цифры) в нормализованной форме будет удовлетворять условию:

0,1 ≤ m < 1

Наше число 25,324 в нормализованной форме будет 0,25324×102

В памяти ПК мантисса будет в виде целого числа содержащая её значащие цифры (ноль и запятая не учитываются)
и порядка т.е. m = 25324, а n = 2.

в старшем бите 1-го байта хранится знак числа. Семь оставшихся битов отводится на порядок. Три оставшихся байта отводится на значащие цифры мантиссы.

Текстовая информация

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

Изначально был придуман алфавит, состоящий из 256 символов, т.е. один символ представлен в виде 8-ми бит или 1-го байта.
Т.к. информация в ПК состоит из нулей и единиц, то символ в таком алфавите кодируется от 000000002 до 111111112. Такое количество символов достаточно чтобы закодировать прописные,
строчные буквы латинского, национального алфавита, 10 цифр, скобки, знаки пунктуации и всевозможные знаки.

Текстовая информация вводится в ПК путём двоичного кодирования. Т.е. изображение символа преобразуется в двоичный код.
Когда пользователь нажимает на клавиатуре клавишу с символом, в оперативную память поступает двоичный код этого символа. Чтобы на экране вместо этого двоичного кода мы видели символ,
точнее его изображение, двоичный код извлекает из таблицы графическое изображение символа, соответствующего этому коду. Эта таблица называется кодовая.
Кодовая таблица это стандарт, при котором каждому символу ставится свой порядковый номер в двоичном коде. Наименьший номер 0 наибольший 255.

ASCII

Рассмотрим, как в таблице размещены 256 символов.

Первую половину таблицы от 0 до 127 разработали в США, называется она ASCII, эти символы одинаковы для всех стран, там размещены строчные, прописные буквы латинского алфавита, цифры 0..9, знаки препинания, скобки и другие символы. Символы алфавита расположены по порядку, что удобно для сортировки символьной информации, широко применимой в электронных таблицах, базах данных.

Вторая половина таблицы от 128 до 255 содержит символы национальных алфавитов, т.е. для стран, где не применяют латиницу. Для русского алфавита могут применяться разные варианты таблиц . Например, в MS DOS эта таблица называлась 866, MS Windows это 1251.

Наглядно понять кодовую страницу можно в браузере Internet Explorer, где можно изменить шрифт командой меню Вид/Кодировка/Дополнительно/ далее поэкспериментировать с выбором различных вариантов кодовых таблиц.

Unicode

Но 256 символов недостаточно для представления «экзотических» символов (иврит, китайских, арабских и т.д.), поэтому в настоящее время разработали международный стандарт Unicode где на каждый символ отводится не один, а два байта, следовательно можно закодировать 216=65536 различных символов.

Задача. Сколько бит занимает слово круг в кодировке CP1251?

Решение: Один символ в кодировке CP1251 состоит из 1-го байта. Количество символов в слове круг умножаем на один байт и восемь бит – получаем:

4 × 1 × 8 = 32 бит

Задача.Автоматическое устройство осуществило перекодировку информационного сообщения на русском языке, первоначально записанного в 16 битном коде Unicode, в 8 битную кодировку КОИ-8. При этом информационное сообщение уменьшилось на 480 бит. Какова длина сообщения в символах?

Решение: Здесь неважно в какой кодировке получить длину символов. Итак, один символ в Unicode в два раза больше символа КОИ-8(или любого 8 битного символа) значит, ПОЛУЧЕННАЯ ИНФОРМАЦИЯ УМЕНЬШИЛАСЬ В ДВА РАЗА, т.е. на один полученный символ отводится в два раза меньше бит, чем тому же символу до кодировки. Сообщение уменьшилось на 480 бит, даёт нам право узнать, сколько бит было до кодировки: 480 × 2 = 960. Поскольку один символ занимает 16 бит, получаем 960 ÷ 16 = 60 символов содержало сообщение

Но можно не вычислять сколько бит было до кодировки, если догадаться что сообщения в Unicode в два раза больше чем в КОИ-8, значит 480 делим на 8 получаем тоже значение — 60

Задача. Скорость передачи данных через модем 56 Кбит/с. Передача текстового файла через модем заняла 12с. Определите, сколько символов содержал переданный текст, если он был представлен в кодировке Unicode.

Решение: Определим сколько бит было передано за 12 с: Переведём Килобиты в биты: т.к. 1Кбит = 1000бит, то 56 × 1000 = 56000, а за 12 с будет передано 56000 × 12 = 672000. Т.к. в кодировке Unicode под каждый символ отводится 2 байта, или 16 бит, вычислим количество символов 672000 ÷ 16 = 42000.

Задача. Для кодирования букв А, Б, В и Г решили использовать двухразрядные последовательные двоичные числа(от 00 до 11) Если таким образом закодировать последовательность БАВГ. Какой получится результат в 16-ричном коде?

Решение: Выпишем каждый код для каждой буквы, выпишем коды в нужной последовательности, переведём каждый код символа в 16-ричную систему: А(00), Б(01), В(10), Г(11). Б(01) А(00), В(10), Г(11). Получим 102316

Графическая информация

Чтобы изображение представить в ПК его разбивают на мелкие участки (фрагменты, точки) и каждому фрагменту разбитого изображения,
присваивают числовое значение цвета. Получается как мозаика. Это разбиение называют пространственная дискретизация.

Качество разбитого изображения зависит от:

  1. Размера фрагментов, чем размер меньше, тем качество выше, т.е. количество фрагментов из которого состоит изображение, будет больше
  2. От количества возможных цветов, которые представляют фрагмент изображения. Чем больше цветов, тем качество выше

Разрешающая способность

Графическая информация на экране представлена в виде растрового изображения. Оно формируется из определённого количества строк. Каждая строка содержит определённое количество точек(пикселей). Такое формирование называют разрешающей способностью монитора или разрешение. Например разрешение 800×600, это формирование на экране изображения состоящего из 600 горизонтальных строк по 800 точек (пикселей) в каждой строке. Бывают ещё разрешения: 1024×768, 1280×1024.

Глубина цвета

Каждая точка(пиксель) может отображать цвет, физически это биты. Количество различных цветов зависит количество бит на точку, это количество называют глубиной точки или просто глубина. Количество цветов N которое может отобразить точка вычисляется по формуле N=2i где i число бит в точке.

Если пиксель однобитный как в старых компьютерах, то экран может отобразить только 21 = 2 цвета, либо чёрный либо белый. Для двухбитного пикселя количество различных цветов — 4. Для цветного изображения каждая точка может иметь различное число бит: 4, 8, 16, 24 и 32.

В современных мониторах, цветное изображение, получается путём смешивания трёх цветов красный, зелёный, синий в одной точке. Такая цветовая модель называется RGB по первым буквам названий английского цвета (Red, Green, Blue).
На каждый цвет выделяют 8 бит, поэтому один пиксель содержит 24 бита. Другими словами, для красного, зелёного или синего, есть 22 = 256 уровней интенсивностей цвета
от 000000002 до 111111112. Число возможных цветов при такой глубине получается по формуле: 224 = 16777216.

Графический режим – величина разрешающей способности и глубины цвета.

Задача. Рассчитаем объём видеопамяти в байтах для 1-го из графических режимов: разрешающей способности 800×600 и глубины 24 бита.

Решение:

800×600 = 480000 — количество точек

теперь учтём, что каждая точка весит 24 бита, получаем:

24×480000 = 11 520 000 бит = 1 440 000 байт

0 Responses to “Представление информации”


Comments are currently closed.



Яндекс.Метрика
Топ Разработка игр