каким кодом представлена информация в памяти компьютера
Представление информации
Для представления целых чисел в компьютере существуют два представления: беззнаковое (для неотрицательных чисел) и знаковое.
Если нужно представлять не только положительные, но и отрицательные значения, обычно используют дополнительный код. Он имеет следующие особенности:
Для положительных чисел дополнительный код совпадает с прямым (т.е. фактически его двоичной записью).
Фактически, дополнительный код — это число, которое нужно добавить к модулю исходного, чтобы достичь переполнения разрядной сетки. От этого и происходит название «дополнительный».
Для получения дополнительного кода отрицательного числа следует сделать следующее:
Пример работы с числами в дополнительном коде
7210 = 10010002. Запись в восьмиразрядной сетке: 01001000.
Таким образом получаем запись в дополнительном коде: 11010010.
Сложим полученные числа:
Перенос из старшего разряда выходит за разрядную сетку и просто отбрасывается: 00011010.
Полученное число переведем в десятичную систему счисления:
Числа с плавающей точкой
Для представления вещественных (действительных) чисел в современных компьютерах принят способ представления с плавающей точкой (запятой). Этот способ представления опирается на нормализованную (ее еще называют экспоненциальной) запись действительных чисел.
0,123456789 = 0,123456789 ⋅ 10 0 ;
Для хранения чисел с плавающей точкой в компьютерах обычно отводится 4, 8 или 10 байт.
Чем больше разрядов отводится под запись мантиссы, тем выше точность представления числа.
Чем больше разрядов занимает порядок, тем шире диапазон от наименьшего до наибольшего представимого числа.
Найти в Интернет более подробную информацию о кодировании чисел
Текст — это последовательность символов (букв, цифр, знаков препинания, математических знаков и т.д.). Как и любая другая информация, в компьютере текст представляется двоичным кодом. Для этого каждому символу ставится в соответствие некоторое положительное число, двоичная запись которого и будет записана в память компьютера. Соответствие между символом и его кодом определяется кодовой таблицей.
Современные кодовые таблицы ведут начало от американского стандартного кода обмена информацией ASCII (American Standard Code for Information Interchange). Он был семибитным и, соответственно, позволял представить 2 7 =128 различных символов. Таблица включала буквы латинского алфавита, цифры, основные знаки и управляющие символы (перевод строки, возврат каретки, табуляция и др.).
В дальнейшем широкое распространение получили восьмибитные кодировки, в которых каждый символ текста был представлен полным байтом. В большинстве из них первые 128 кодов повторяли таблицу ASCII, а следующие («верхняя половина кодовой таблицы») использовались для представления символов национальных алфавитов и полиграфических знаков.
Во многих случаях для одного и того же языка было создано несколько кодировок. Например, для кодирования русскоязычных текстов достаточно широко использовалось (и до сих пор в некоторых случаях используются) пять кодировок:
Основные недостатки восьмибитных кодировок:
Для устранения этих недостатков в 1991 году был предложен стандарт Unicode («Юникод»). Он включает универсальный набор символов (UCS, Universal Character Set) и форматы машинного представления их кодов (UTF, Unicode Transformation Format).
Первая версия Юникода представляла собой кодировку с фиксированным размером символа в 16 бит, то есть общее число кодов было 2 16 (65 536). Отсюда происходит практика обозначения символов четырьмя шестнадцатеричными цифрами (например, U+0410). При этом в Юникоде планировалось кодировать не все существующие символы, а только те, которые необходимы в повседневном обиходе.
В дальнейшем было принято решение расширить набор символов за счет различных способов кодирования. Поскольку в ряде систем уже началось использование 16-битной версии Unicode, за основными символами сохранили принятые в ней коды (образовавшие «основную многоязычную плоскость»), а для более редко применяемых назначили «суррогатные пары» — четырехбайтные коды. Эта система кодирования получила обозначение UTF-16. В UTF-16 можно отобразить только 2 20 +2 16 −2048 (1112064) символов, это число и было выбрано в качестве окончательной величины кодового пространства Юникода. Но и этого более чем достаточно — сейчас используется немногим более 100000 кодовых позиций. Unicode включает символы практически всех современных, а также многих древних систем письма.
Для обеспечения совместимости со старыми системами, использовавшими 8-битное кодирование, была разработана система кодирования UTF-8. Она использует коды переменной длины: для символов, входящих в ASCII, применяются коды длиной 1 байт, полностью совпадающие с кодами ASCII. Для остальных символов — коды длиной от 2 до 4 байт (теоретически, до 6).
Существует также UTF-32, в которой для записи любого символа используется 4 байта. Из-за очень неэкономного расхода памяти (в 2-4 раза больше, чем UTF-8, и почти вдвое больше, чем UTF-16) на практике она используется достаточно редко.
В Интернет наибольшее распространение получила система кодирования UTF-8, в MS Windows преимущественно используют UTF-16, в Unix-подобных ОС (включая Linux и Mac OS X) — в основном UTF-8.
В отличие от чисел и текста, графическая и звуковая информация по своей природе — аналоговая (т.е. представляется непрерывным изменением некоторой величины). Компьютер же может работать только с дискретной («разрывной», представляемой скачкообразными изменениями). Поэтому непосредственно закодировать изображение или звук невозможно.
И для одного, и для другого вида информации существуют два способа представления: либо искусственно разбить на малые элементы, либо описать правила формирования.
Каким кодом представлена информация в памяти компьютера
Электронные облака
Лекции
Рабочие материалы
Тесты по темам
Template tips
Задачи
Логика вычислительной техники и программирования
Лекция «Технология кодирования и измерения количества информации»
Качество и количество информации
Анализируя информацию, мы сталкиваемся с необходимостью определения качества и определения количества полученной информации. Определить качество информации чрезвычайно сложно, а часто и вообще невозможно. Какие-либо сведения, например исторические, могут десятилетиями считаться ненужными и вдруг их ценность может резко возрасти.
Вместе с тем определить количество информации не только можно, но и нужно. Это необходимо для того, чтобы сравнить друг с другом различные массивы информации, а также определить, какие размеры должны иметь материальные объекты (бумага, магнитные носители и т.д.), хранящие эту информацию.
Далее, говоря об измерении информации, мы будем иметь в виду определение ее количества.
Единая форма кодирования и измерения количества информации
Как измерять количество информации? Для этого нужно иметь универсальный способ, позволяющий представить любую ее форму (текстовую, графическую и др.) в едином стандартном виде.
За такой способ принята так называемая двоичная форма представления информации. Она заключается в записи любой информации в виде последовательности только двух символов: 0 и 1 (то есть в виде двоичных чисел) и с технической точки зрения наиболее проста и удобна (есть ток/нет тока, намагничено/размагничено, высокое напряжение/низкое напряжение).
Рассмотрим сначала одноразрядное двоичное число – бит. Оно может принимать два различных значения: 0 и 1
Если с помощью одноразрядного числа попробовать закодировать какую-либо информацию (например, ответ на вопрос «идет ли дождь?»), то мы успешно справимся с поставленной задачей, поскольку количество различных вариантов кодирования в данном случае равно двум (0-не идет, 1-идет).
К = 2 n °, где n – число разрядов двоичного числа.
В общем случае, верно, что чем больше различных видов однотипной информации требуется закодировать, тем больше разрядов двоичного числа (бит) требуется.
Единицы измерения информации
Таким образом, можно утверждать: информацию можно измерять в битах, то есть в количестве двоичных разрядов. Бит является наименьшей единицей измерения количества информации.
В 100 Мб можно уместить:
Страниц текста | 50000 |
Цветных слайдов высочайшего качества | 150 |
Аудиозапись | 1,5 часа |
Музыкальный фрагмент качества CD-стерео | 10 минут |
Фильм высокого качества записи | 15 секунд |
Протоколы операций по банковским счетам | За 1000 лет |
Представление текстовой информации в компьютере. Кодовые таблицы
Кодирование текстового сообщения
Каждому символу ставится в соответствие двоичное число, причем таким образом, что чем дальше символ расположен от начала алфавита, тем больше значение двоичного числа, которое является кодом данного символа. Сколько разрядов (бит) требуется, чтобы закодировать все буквы, знаки препинания, математические и специальные символы? Легко подсчитать:
Находим, что для кодирования всех символов необходимо 8-разрядное двоичное число. Каждому символу ставится в соответствие свое уникальное значение восьмиразрядного двоичного числа. Так, если 10000000 – код буквы А, а 10001100 – код буквы М, то слово «МАМА» кодируется последовательностью из 32-х двоичных цифр (бит):
10000000 10001100 10000000 10001100, именно в такой форме данное текстовое сообщение и будет закодировано компьютером с использованием ровно 32-х бит.
Таблица кодирования ASCII
Как мы уже выяснили, традиционно для кодирования одного символа используется 8 бит. И, когда люди определились с количеством бит, им осталось договориться о том, каким кодом кодировать тот или иной символ, чтобы не получилось путаницы, т.е. необходимо было выработать стандарт – все коды символов сохранить в специальной таблице кодов. В первые годы развития вычислительной техники таких стандартов не существовало, а сейчас наоборот, их стало очень много, но они противоречивы. Первыми решили эти проблемы в США, в Институте стандартизации. Этот институт ввел в действие таблицу кодов ASCII (American Standard Code for Information Interchange – стандартный код информационного обмена США).
Рассмотрим таблицу кодов ASCII:
Таблица ASCII разделена на две части. Первая – стандартная – содержит коды от 0 до 127. Вторая – расширенная – содержит символы с кодами от 128 до 255.
Первые 32 кода отданы производителям аппаратных средств и называются они управляющие, т.к. эти коды управляют выводом данных. Им не соответствуют никакие символы.
Коды с 32 по 127 соответствуют символам английского алфавита, знакам препинания, цифрам, арифметическим действиям и некоторым вспомогательным символам.
Коды расширенной части таблицы ASCII отданы под символы национальных алфавитов, символы псевдографики и научные символы.
Все буквы расположены в них по алфавиту, а цифры – по возрастанию. Этот принцип последовательного кодирования позволяет определить код символа, не заглядывая в таблицу.
Коды цифр берутся из этой таблицы только при вводе и выводе и если они используются в тексте. Если же они участвуют в вычислениях, то переводятся в двоичную систему счисления.
Альтернативные системы кодирования кириллицы
Таблица Unicode разделена на несколько областей. Область с кодами от 0000 до 007F содержит символы набора Latin 1 (младшие байты соответствуют кодировке ISO 8859-1). Далее идут области, в которых расположены знаки различных письменностей, а также знаки пунктуации и технические символы. Часть кодов зарезервирована для использования в будущем (29000). 6000 кодовых комбинаций оставлено программистам.
Символам кириллицы выделены коды в диапазоне от 0400 до 0451.
Использование Unicode значительно упрощает создание многоязычных документов, публикаций и программных приложений.
Решение задач
1. Закодируйте с помощью ASCII слово: МИР
Решение: открываем таблицу ASCII,
по таблице ищем букву М, её код 204
по таблице ищем букву И, её код 200
по таблице ищем букву Р, её код 208
Ответ: код слова МИР – 204 200 208
2. Декодируйте тексты, заданные десятичным кодом: 192 203 195 206 208 200 210 204
Решение: открываем таблицу ASCII, в таблице ищем коды и соответствующую им букву:
192 – А; 203 – Л; 195 – Г; 206 – О; 208 – Р; 200 – И; 210 – Т; 204 – М, т. е. получили слово: АЛГОРИТМ
Ответ: 192 203 195 206 208 200 210 204 – АЛГОРТИМ
3. Десятичный код буквы «I» в таблице ASCII равен 73. Не пользуясь таблицей, составьте последовательность кодов, соответствующих слову MIR
Решение: Зная, что все буквы расположены по алфавиту, а цифры по возрастанию делаем следующие выводы: I – 73, J – 74, K – 75, L – 76, M – 77, N – 78, O – 79, P – 80, Q – 81, R – 82
Ответ: MIR – 77 73 82
4. Каков информационный объём текста, содержащего слово МИР:
а) в 16-битовой кодировке; б) в 8-битовой кодировке
Решение:
Зная, что в 8-битовой кодировке 1 символ – 8 бит делаем следующие выводы:
МИР – 3 символа = 24 бит (3*8)
Зная, что в 16-битовой кодировке 1 символ – 16 бит делаем следующие выводы:
МИР – 3 символа = 48 бит (3*16)
Ответ: а) 48 бит; б) 24 бит.
5. Текст занимает полных 2 страницы. На каждой странице размещается 45 строк по 45 символов. Определить объём оперативной памяти, который займёт этот текст.
Кодирование графической информации
Общие понятия о графической информации
Графическая информация представляет собой изображение, сформированное из определенного числа точек – пикселей. Добавим к этой информации новые сведения. Процесс разбиения изображения на отдельные маленькие фрагменты (точки) называется пространственной дискретизацией. Ее можно сравнить с построением рисунка из мозаики. При этом каждой мозаике (точке) присваивается код цвета.
От количества точек зависит качество изображения. Оно тем выше, чем меньше размер точки и соответственно большее их количество составляет изображение. Такое количество точек называется разрешающей способностью и обычно существуют четыре основных значений этого параметра: 640×480, 800×600, 1024×768, 1280×1024.
Качество изображения зависит также от количества цветов, т.е. от количества возможных состояний точек изображения, т.к. при этом каждая точка несет большее количество информации. Используемый набор цветов образует палитру цветов.
Кодирование цвета
Рассмотрим, каким образом происходит кодирование цвета точек. Для кодирования цвета применяется принцип разложения цвета на составляющие. Их три: красный цвет (Red, R), синий (Blue, В) и зелёный (Green, G). Смешивая эти составляющие, можно получать различные оттенки и цвета – от белого до черного.
Сколько бит необходимо выделить для каждой составляющей, чтобы при кодировании изображения его качество было наилучшим?
Если рисунок черно-белый, то общепринятым на сегодняшний день считается представление его в виде комбинации точек с 256 градациями серого, т.е. для кодирования точки достаточно 1 байта.
Если же изображение цветное, то с помощью 1 байта можно также закодировать 256 разных оттенков цветов. Этого достаточно для рисования изображений типа тех, что мы видим в мультфильмах. Для изображений же живой природы этого недостаточно. Если увеличить количество байт до двух (16 бит), то цветов станет в два раза больше, т.е. 65536. Это уже похоже на то, что мы видим на фотографиях и на картинках в журналах, но все равно хуже, чем в живой природе. Увеличим еще количество байтов до трех (24 бита). В этом случае можно закодировать 16,5 миллионов различных цветов. Именно такой режим позволяет работать с изображениями наилучшего качества.
Количество бит, необходимое для кодирования цвета точки называется глубиной цвета. Наиболее распространенными значениями глубины цвета являются 4, 8, 16 и 24 бита на точку.
Решение задач
1. Какой объём видеопамяти необходим для хранения четырёх страниц изображения при условии, что разрешающая способность дисплея равна 640Х480 точек, а используемых цветов – 32?
Теперь все параметры нам известны, находим объём:
V = 640*480*5*4 =6144000 бит = 750 Кбайт (т.к. в 1 байте – 8 бит и в 1 Кбайте – 1024 байт)
Ответ: 750 Кбайт
2. 256-цветный рисунок содержит 1 Кбайт информации. Из скольки точек он состоит?
Переведём известный объём в биты: 1Кбайт = 1024 байт*8бит = 8192 бит
Зная глубину и объём находим количество точек на изображении: 8192:8 = 1024 точек
Кодирование звуковой информации
Оцифровка звука
Звук представляет собой звуковую волну с непрерывно меняющейся амплитудой и частотой. Для человека звук тем громче, чем больше амплитуда сигнала, и тем выше тон, чем больше частота сигнала. Непрерывный сигнал не несет в себе информации, поэтому он должен быть превращен в последовательность двоичных нулей и единиц – двоичный (цифровой) код.
Оцифровку звука выполняет специальное устройство на звуковой плате. Называется оно аналого-цифровой преобразователь (АЦП). Обратный процесс – воспроизведение закодированного звука производится с помощью цифро-аналогового преобразователя (ЦАП).
Весь процесс кодирования и декодирования представить в виде следующей схемы:
Схема кодирования звука:
В процессе кодирования непрерывного звукового сигнала производится дискретизация по времени, или, как говорят, «временная дискретизация». Звуковая волна разбивается на отдельные маленькие временные участки и для каждого участка устанавливается определенная величина амплитуд. Данный метод называется импульсно-амплитудной модуляцией РСМ Code Modulation).
Таким образом, гладкая кривая заменяется на последовательность «ступенек».. Каждой «ступеньке» присваивается значение громкости звука (1, 2, 3). Чем больше «ступенек», тем большее количество уровней громкости выделено в процессе кодирования, и тем большее количество информации будет нести значение каждого уровня и более качественным будет звучание.
Характеристики оцифрованного звука
Качество звука зависит от двух характеристик – глубины кодирования и частоты дискретизации. Рассмотрим эти характеристики.
Современные звуковые карты обеспечивают 16-битную глубину кодирования звука, и тогда общее количество различных уровней будет: N=2 16 = 65536.
Частота дискретизации (М) – это количество измерений уровня звукового сигнала в единицу времени. Эта характеристика показывает качество звучания и точность процедуры двоичного кодирования. Измеряется в герцах (Гц). Одно измерение за одну секунду соответствует частоте 1 Гц, 1000 измерений за одну секунду – 1 килогерц (кГц). Частота дискретизации звукового сигнала может принимать значения от 8 до 48 кГц. При частоте 8 кГц качество дискретизированного звукового сигнала соответствует качеству радиотрансляции, а при частоте 48 кГц – качеству звучания аудио-CD.
Высокое качество звучания достигается при частоте дискретизации 44,1 кГц и глубины кодирования звука, равной 16 бит. Для мрачного, приглушенного звука характерны следующие параметры: частота дискретизации – 11 кГц, глубина кодирования – 8 бит.
Глубина кодирования | Частота дискретизации | |
Радиотрансляция | 8 бит | До 8 кГц |
Среднее качество | 8 бит или 16 бит | 8-48 кГц |
Звучание CD-диска | 16 бит | До 48 кГц |
Для того, чтобы найти объем звуковой информации, необходимо воспользоваться следующей формулой:
V= M*I*t,
где М — частота дискретизации (в Гц),
I — глубина кодирования (в битах),
t — время звучания (в секундах).
Решение задач
1. Определить объём памяти для хранения моноаудиофайла, время звучания которого составляет пять минут при частоте дискретизации 44 кГц и глубине кодирования 16 бит.
Решение: Воспользуемся формулой: V = M*I*t
В нашем случае М = 44 кГц = 44000 Гц
I = 16 бит
t = 5 минут,
подставляем в формулу и получаем:
V = 44000*16*5 = 3520000 бит = 430 Кбайт (примерно)
Каким кодом представлена информация в памяти компьютера
Электронные облака
Лекции
Рабочие материалы
Тесты по темам
Template tips
Задачи
Логика вычислительной техники и программирования
Лекция «Представление информации в компьютере. Структура внутренней памяти.»
Основные понятия: бит, байт, дискретность, отрицательные числа, дополнительный код, двоичные и шестнадцатеричные числа, целые и вещественные числа, мантисса, машинный порядок, нормализованное представление, машинное слово, адресуемость.
Биты и байты
Написание программ требует знаний организации всей системы компьютера. В основе компьютера лежат понятия бита и байта. Они являются тем средством, благодаря которым в компьютерной памяти представлены данные и команды.
Для выполнения программ компьютер временно записывает программу и данные в основную память. Компьютер имеет также ряд pегистров, которые он использует для временных вычислений.
Минимальной единицей информации в компьютере является бит.
Бит – ячейка памяти, хранящая один двоичный знак. Битовая структура памяти определяет первое свойство памяти – дискретность.
Бит может быть выключен, так что его значение есть нуль, или включен, тогда его значение равно единице. Единственный бит не может представить много информации в отличие от группы битов.
Во внутренней памяти компьютера все байты пронумерованы. Нумерация начинается с нуля. Порядковый номер называется его адресом. В компьютере адреса обозначаются двоичным кодом. Используется также шестнадцатеричная форма обозначения адреса.
Двоичные числа
Так как компьютер может различить только нулевое и единичное состояние бита, то он работает системе исчисления с базой 2 или в двоичной системе. Фактически бит унаследовал свое название от английского «BInary digiT» (двоичная цифра).
Сочетанием двоичных цифр (битов) можно представить любое значение. Значение двоичного числа определяется относительной позицией каждого бита и наличием единичных битов. Ниже показано восьмибитовое число, содержащее все единичные биты:
Позиционные веса | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
Включенные биты | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Двоичное сложение
Микрокомпьютер выполняет арифметические действия только в двоичном формате.
0 + 0 = 0
1 + 0 = 1
1 + 1 = 10
1 + 1 + 1 = 11
Обратите внимание на перенос единичного бита в последних двух операциях. Теперь, давайте сложим 01000001 и 00101010.(число 65 и число 42):
Двоичные | Десятичные |
01000001 | 65 |
00101010 | 42 |
01101011 | 107 |
Проверьте, что двоичная сумма 01101011 действительно равна 107. Рассмотрим другой пример:
Двоичные | Десятичные |
00111100 | 60 |
00110101 | 53 |
01110001 | 113 |
Представление целых чисел
Множество целых чисел, представимых в памяти ЭВМ, ограничено. Диапазон значений зависит от размера ячеек памяти, используемых для их хранения. В k-разрядной ячейке может храниться 2 k различных значений целых чисел.
Чтобы получить внутреннее представление целого положительного числа N, хранящегося в k-разрядном машинном слове, необходимо:
1) перевести число N в двоичную систему счисления;
2) полученный результат дополнить слева незначащими нулями до k разрядов
Отрицательные числа
Для записи внутреннего представления целого отрицательного числа (-N) необходимо:
1) получить внутреннее представление положительного числа N;
2) получить обратный код этого числа заменой 0 на 1 и 1на 0;
3) к полученному числу прибавить 1.
Данная форма представления целого отрицательного числа называется дополнительным кодом. Использование дополнительного кода позволяет заменить операцию вычитания на операцию сложения уменьшаемого числа с дополнительным кодом вычитаемого.
Двоичные разряды в ячейке памяти нумеруются от 0 до k справа налево. Старший, k-й разряд во внутреннем представлении любого положительного числа равен нулю, отрицательного числа – единице. Поэтому этот разряд называется знаковым разрядом.
65 | 01000001 |
+(-42) | 11010110 |
23 | (i)00010111 |
Результат 23 является корректным. В рассмотренном примере произошел перенос в знаковый разряд и из разрядной сетки.
Шестнадцатеричное представление
Представим, что необходимо просмотреть содержимое некоторых байт в памяти. Требуется определить содержимое четырех последовательных байт (двух слов), которые имеют двоичные значения. Так как четыре байта включают в себя 32 бита, то специалисты разработали «стенографический» метод представления двоичных данных. По этому методу каждый байт делится пополам и каждые полбайта выражаются соответствующим значением. рассмотрим следующие четыре байта:
Двоичное | 0101 | 1001 | 001 | 0101 | 1011 | 1001 | 110 | 1110 |
Десятичное | 5 | 9 | 3 | 5 | 11 | 9 | 12 | 14 |
Так как здесь для некоторых чисел требуется две цифры, расширим систему счисления так, чтобы 10=A, 11=B, 12=C, 13=D, 14=E, 15=F. Таким образом, получим более сокращенную форму, которая представляет содержимое вышеуказанных байт:
59 | 35 | B9 | CE |
Такая система счисления включает «цифры» от 0 до F, и так как таких цифр 16, она называется шестнадцатеричным представлением.
Шестнадцатеричный формат нашел большое применение в языке ассемблера.
Если немного поработать с шестнадцатеричным форматом, то можно быстро привыкнуть к нему.
Следует помнить, что после шестнадцатеричного числа F следует шестнадцатеричное 10, что равно десятичному числу 16.
Машинное слово
Вся информация (данные) представлена в виде двоичных кодов. Для удобства работы введены следующие термины, обозначающие совокупности двоичных разрядов (см. табл.). Эти термины обычно используются в качестве единиц измерения объемов информации, хранимой или обрабатываемой в компьютере.