Сколько требуется бит памяти для кодирования кода одного символа в кодировке windows 16 10

Обновлено: 07.07.2024

Большая подборка задач разного типа на соотношение единиц измерения и передачу информации, на кодирование текстовой, графической, аналоговой информации и определение информационного объема файлов.

Задания могут быть использованы на уроках с 8 по 11 класс, в том числе и при подготовке к ЕГЭ.

Задания на соотношение единиц измерения информации

1. 2 25 бит – сколько Мбайт?

2. Найти значение Х из соотношения 4 2-х Кб=16Мб

3. Найти Х, при котором равны информационные объемы 32 х+3 килобайт и 256 х мегабайт.

Задания на использование формулы Хартли и применение вероятностного подхода к измерению информации

4. Сколько различных звуковых сигналов можно закодировать с помощью 8 бит?

5. Сколько нужно бит, чтобы закодировать алфавит из 64 символов?

6. Когда Вы подошли к светофору, горел желтый свет. Затем зажегся красный. Какой объем информации Вы получили в момент, когда зажегся красный?

8. Измеряется температура воздуха, которая может быть целым числом от -30 до 34 градусов. Какое наименьшее количество бит необходимо, чтобы закодировать одно измеренное значение?

9. Метеорологическая станция ведет наблюдение за влажностью воздуха. Результатом одного измерения является целое число от 0 до 100 процентов, которое записывается при помощи минимально возможного количества бит. Станция сделала 80 измерений. Определите информационный объем в байтах результатов наблюдений.

11. Для передачи сигналов на флоте используются специальные сигнальные флаги, вывешиваемые в одну линию (последовательность важна). Какое количество различных сигналов может передать корабль при помощи трех сигнальных флагов, если на корабле имеются флаги четырех различных видов (флагов каждого вида неограниченное количество)?

12. Каждый элемент светового табло может гореть одним из 4 цветов. Какое наименьшее количество элементов должно работать, чтобы можно было передать 500 различных сигналов?

13. Азбука Морзе позволяет кодировать символы для радиосвязи, задавая комбинацию точек и тире. Сколько различных символов (цифр, букв, знаков пунктуации и т.д.) можно закодировать, используя код Морзе длиной не менее пяти и не более шести сигналов (точек и тире)?

15. Одна ячейка памяти «троичной ЭВМ» (компьютера, основанного на использовании троичной системы счисления) может принимать одно из трех возможных состояний. Для хранения некоторой величины отвели 6 ячеек памяти. Сколько различных значений может принимать эта величина?

18. Два исполнителя Шалтай и Болтай проставляют 0 и 1 в каждую из имеющихся в их распоряжении клеточку. Шалтай может закодировать 512 символов и у него на две клеточки больше, чем у Болтая. Сколько клеток в распоряжении у Болтая?

19. Каждая клетка поля 8×8 кодируется минимально возможным и одинаковым количеством бит. Решение задачи о прохождении «конем» поля записывается последовательностью кодов посещенных клеток . Каков объем информации в битах после 11 сделанных ходов? (Запись решения начинается с начальной позиции коня).

20. Учитель, выставляя в журнал четвертные оценки по биологии за третью четверть (3, 4, 5), обратил внимание, что комбинация из трех четвертных оценок по этому предмету у всех учеников различна. Какое может быть максимальное количество учеников в этом классе?

22. В некоторой стране автомобильный номер длиной 6 символов составляют из заглавных букв (задействовано 30 различных букв) и десятичных цифр в любом порядке. Каждый такой номер в компьютерной программе записывается минимально возможным и одинаковым целым количеством байт (при этом используют посимвольное кодирование и все символы кодируются одинаковым и минимально возможным количеством бит). Определите объем памяти в байтах, отводимый этой программой для записи 50 номеров.

23. Программа генерирует N-символьные пароли следующим образом: в качестве символов используются десятичные цифры, а также строчные и прописные латинские буквы в любом порядке (в латинском алфавите 26 знаков). Все символы кодируются одним и тем же минимально возможным количеством бит и записываются на диск. Программа сгенерировала 128 паролей и записала их в файл подряд, без дополнительных символов. Размер полученного файла составил 1,5 Кбайта. Какова длина пароля (N)?

Задачи на кодирование текстовой информации и определение объема текстового файла

27. Считая, что каждый символ кодируется одним байтом, определите, чему равен информационный объем в битах следующего высказывания Жан-Жака Руссо: Тысячи путей ведут к заблуждению, к истине – только один.

28. Определить объем памяти в Кбайтах, занимаемый текстом из 60 страниц по 512 символов на каждой странице. (кодировка ASCII)

30. Определить максимальное количество страниц текста, содержащего по 80 символов в каждой строке и 64 строки на странице, которое может содержать файл, сохраненный на гибком магнитном диске объемом 10Кбайт. (кодировка ASCII)

33. Два текста содержат одинаковое количество символов. Первый текст составлен в алфавите мощностью 8 символов, второй – 16 символов. Во сколько раз отличается количество информации в этих текстах?

36. В алфавите некоторого языка всего две буквы А и Б. Все слова этого языка состоят из 11 букв. Каков максимальный словарный запас этого языка?

38. Для записи текста использовался 256-символьный алфавит. Каждая страница содержит 30 строк по 70 символов в строке. Какой объем информации в байтах содержит 5 страниц текста?

39. В языке некоторого племени всего 16 букв. Все слова состоят из 5 букв, всего в языке 8000 слов. Сколько памяти в байтах потребуется для хранения всех слов этого языка?

40. В некоторой кодировке слово из 20 букв занимает на 42 байта больше, чем слово из шести букв. Сколько бит отводится на одну букву, если под все символы этой кодировки отводится равный объем памяти?

41. Текст, записанный с помощью 16-ти символьного алфавита, занимает 10 полных секторов на односторонней дискете объемом 180 Кбайт. Дискета разбита на 40 дорожек по 9 секторов. Сколько символов содержит этот текст?

42. Система оптического распознавания символов позволяет преобразовывать отсканированные изображения страниц документа в текстовый формат со скоростью 4 страницы в минуту и использует алфавит мощностью 256 символов. Какое количество информации в байтах будет нести текстовый документ после 5 минут работы приложения, страницы которого содержат 40 строк по 50 символов?

Задания на кодирование графической информации и определение объема графического файла

43. Для хранения изображения размером 128128 точек выделено 4 Кбайт памяти. Определите, какое максимальное число цветов в палитре

44. 16-цветный рисунок содержит 500 байт информации. Из скольких точек он состоит?

45. Определить требуемый объем (в мегабайтах) видеопамяти для реализации графического режима монитора с разрешающей способностью 1024×768 пикселей при количестве отображаемых цветов 4 294 967 296.

46. Определить объем видеопамяти в Кбайтах для графического файла размером 1240480 пикселей и глубиной цвета 16 бит

47. Определить объем видеопамяти в Килобайтах для графического файла размером 640480 пикселей и палитрой из 32 цветов

48. После преобразования графического изображения количество цветов уменьшилось с 256 до 32. Во сколько раз уменьшился объем занимаемой им памяти?

49. Цветной сканер имеет разрешение 1024512 точек на дюйм. Объем памяти, занимаемой просканированным изображением размером 24 дюйма, составляет около 8 Мбайт. Какова выраженная в битах глубина представления цвета сканера?

50. Цвет пикселя, формируемого принтером, определяется тремя составляющими: голубой, пурпурной и желтой. Под каждую составляющую одного пикселя отвели по 4 бита. В какое количество цветов можно раскрасить пиксель?

51. Цвет пикселя монитора определяется тремя составляющими: зеленой, синей и красной. Под красную и синюю составляющие отвели по 5 бит. Сколько бит отвели под зеленую составляющую, если растровое изображение размером 88 пикселей занимает 128 байт?

52. После преобразования растрового 256-цветного графического файла в черно-белый двуцветный формат его размер уменьшился на 70 байт. Каков был размер исходного файла в байтах?

53. В процессе преобразования растрового графического файла его объем уменьшился в 1,5 раза. Сколько цветов было в палитре первоначально, если после преобразования получено изображение того же разрешения в 256-цветной палитре?

54. Фотография размером 1010 см была отсканирована с разрешением 400 dpi при глубине цвета 24 бита. Определите информационную емкость полученного растрового файла в килобайтах. Примечание: принять 1 дюйм = 2,5 см

55. Для кодирования цвета фона интернет-страницы используется атрибут , где в кавычках задаются шестнадцатеричные значения интенсивности цветовых компонент в 24-битной цветовой модели RGB. Какой цвет будет у страницы, задаваемой тегом ?

Задания на кодирование аналоговой информации и определение объема звукового файла

57. Определить информационный объем в Кбайтах моноаудиофайла длительностью звучания 8 сек при глубине звука 8 бит и частоте 8 кГц

58. Определить длительность звучания стереоаудиофайла, занимающего 468,75 Кбайт памяти при глубине звука 16 бит и частоте 48 кГц

59. Музыкальная запись выполнена в формате CDDA (частота дискретизации 44100 Гц, 16 бит, стерео) и имеет продолжительность 19 мин 20 cек. Сколько секунд займет передача этой записи по каналу с пропускной способностью 16000 байт/сек?

60. При переводе в дискретную форму аналогового сигнала длительностью 2 мин 8 сек использовалась частота дискретизации 32 Гц и 16 уровней дискретизации. Найти в байтах размер полученного кода аналогового сигнала.

Задания на передачу информации по каналам связи и определение информационного объема файлов разных типов

61. Скорость передачи данных через ADSL-соединение равна 1240 Кбит/cек. Через данное соединение в течение 2 секунд передают файл. Определите размер файла в килобайтах.

62. Скорость передачи данных через ADSL-соединение равна 1024 000 бит/c. Через данное соединение передают файл размером 2500 Кбайт. Определите время передачи файла в секундах.

63. Пользователь компьютера, хорошо владеющий навыками ввода информации с клавиатуры, может вводить в минуту 100 знаков. Мощность алфавита, используемого в компьютере, равна 256. Какое количество информации в битах может ввести пользователь в компьютер за 1 минуту?

65. Алфавит некоторого языка состоит из 32 символов. За сколько секунд можно передать текст из 1600 оптимального закодированных символов этого алфавита при скорости передачи 100 байт/сек

68. Вычислить объем видеофайла (в Гбайтах) длительностью 64 сек, скоростью смены кадров равной 32 кадров/сек, разрешении 1280*640 точек и разрядностью цвета 16 бит. Объемом звуковой составляющей видеоклипа можно пренебречь.

69. Модем, передающий информацию со скоростью 16 384 бит/сек, передал цветное растровое изображение за 4 мин 16 сек. Укажите максимальное число цветов в палитре изображения, если известно, что его размер составил 1024512 пикселей.

70. Документ состоит из текстовой и графической информации. Текст содержит 30 строк по 30 символов в каждой в кодировке ASCII. Размер черно-белого изображения составляет 120300 точек. Определить информационный объем этого изображения в байтах.

71. Документ содержит несколько страниц текста, на каждой 60 строк по 30 символов в кодировке КОИ-8, и две иллюстрации размером 120*240 пикселей, в каждом изображении используется не более 8 различных цветов. Модем, работающий со скоростью передачи 28800 бит/сек, передал этот документ за 8 сек. Определите, сколько страниц в тексте.

72. Текст подготовлен для передачи по сети и содержит 51200 символов. Каждый символ кодируется двумя байтами и во избежание искажений передается трижды. Время передачи текста составило 64 секунды. Определите скорость передачи в байт/сек.

73. Данные объемом 16 Мбайт поступают на компьютер по линии со скоростью передачи данных 32 Мбит/сек. После получения 4 Мбайт компьютер начинает одновременно передавать эти данные по другой линии связи со скоростью 4 Мбит/сек. Сколько секунд пройдет от начала приема данных по высокоскоростному каналу до полной передачи их по низкоскоростному каналу?

74. У Оли есть доступ к сети Интернет по высокоскоростному одностороннему радиоканалу, обеспечивающему скорость получения информации 221 бит в секунду. У Маши нет скоростного доступа в Интернет, но есть возможность получать информацию от Оли по низкоскоростному телефонному каналу со средней скоростью 213 бит в секунду. Маша договорилась с Олей, что та будет скачивать для нее данные объемом 8 Мбайт по высокоскоростному каналу и ретранслировать их Маше по низкоскоростному каналу. Компьютер Оли может начать ретрансляцию данных не раньше, чем им будет получен 1 Мбайт этих данных. Сколько Кбайт успеет скачать Маша к моменту окончания скачивания информации Олей?

75. Книга, состоящая из 1360 страниц, занимает 40 Мбайт. Часть страниц книги является цветными изображениями в формате 320640 точек. На одной странице книги с текстом размещается 1024 символа. Символы закодированы кодировкой ASCII. Количество страниц с текстом на 560 больше количества страниц с изображениями. Сколько цветов используется в палитре изображений?

Решая его найдём следовательно, .

16 бит = 2 байт, 8 бит = 1 байт.

4096 = 1024⋅4, 16 бит = 2 байта, 8 бит = 1 байт

Было в Unicode: 2 12 * 2 = 2 13 байт

Стало в Windows-1251: 2 12 байт.

Объём файла уменьшился на 2 13 байт - 2 12 байт = 2 12 байт = 4 Кбайта

Объем информации в кодировке КОИ-8: 5120 символов * 1 байт = 5120 байт.

Объем информации в 16-битной кодировке Unicode: 5120 символов * 2 байта = 10240 байт.

10240 байт - 5120 байт = 5120 байт.

5120 : 1024 = 5 Кбайт.

Источник: Яндекс: Тренировочная работа ЕГЭ по информатике. Вариант 1.

Обозначим количество символов в документе за .

Тогда объем информации в кодировке КОИ-8: бит = байт

Объем информации в 16-битной кодировке Unicode: бит = байт.

Размер памяти увеличился на байт = 4*1024 байт .

Ответ: 4096 символов.

N — количество символов.

16 * N — объём информации в 16-битной кодировке.

Считая, что каждый символ кодируется двумя байтами, оцените информационный объем следующего предложения в кодировке Unicode:

Диаметр окружности равен 2R.

Подсчитаем количество символов в заданном предложении, включая пробелы и точку: их 28. Поскольку один символ кодируется 2 байтами, 28 символов кодируются 56 байтами.

Считая, что каждый символ кодируется 16 битами, оцените информационный объем следующей фразы в кодировке Unicode:

«Word» — по-русски «слово».

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

Считая, что каждый символ кодируется 8 битами, оцените информационный объем следующей пушкинской фразы в кодировке Unicode:

Хвалу и клевету приемли равнодушно и не оспаривай глупца.

Подсчитаем количество символов в заданном предложении, включая пробелы: всего их 57. По условию задачи один символ кодируется 8 битами. Знаем: 8 бит = 1 байт. Имеем: 1 символ = 8 бит = 1 байт. Т. к. всего символов 57, то в байтах объём фразы 57 байт.

Скорость передачи данных через ADSL-соединение равна 128000 бит/с. Передача текстового файла через это соединение заняла 1 минуту. Определите, сколько символов содержал переданный текст, если известно, что он был представлен в 16-битной кодировке Unicode.

Q = 128000 бит/c * 60 c.

Каждый символ в данной кодировке кодируется 16-ю битами. Следовательно, количество символов определится так:

N = 128000 бит/c * 60 c : 16 = 8000 * 60 = 480 000.

Скорость передачи данных через модемное соединение равна 4096 бит/с. Передача текстового файла через это соединение заняла 10 с. Определите, сколько символов содержал переданный текст, если известно, что он был представлен в 16-битной кодировке Unicode.

Объём информации вычисляется по формуле Q = q * t, где t — время передачи q — cкорость передачи данных. Поэтому

Q = 4096 бит/c * 10 c = 2 12 бит/c * 10 c .

С появлением первых устройств цифровой передачи информации и электронно-вычислительных машин возникла задача кодирования текстовых символов с помощью последовательностей единиц и нулей. Минимальная единица представления информации – байт. Исходя их этого в 1963 году в США разработана, стандартизована, а впоследствии расширена кодовая таблица ASCII (American standard code for information interchange), использовавшая 8 битную кодировку. В первую очередь с помощью этой таблицы предполагалось кодирование цифр и букв английского языка. Первые 128 символов таблицы представлены на рис.1:

Рис.1. Первые 128 символов таблицы ASCII.

Рис.1. Первые 128 символов таблицы ASCII.

Номер ячейки в таблице (рис.1) является кодом символа. В качестве примера рассмотрим кодирование слова Hello. Номера ячеек таблицы ASCII, в которых размещены буквы: 72 (H), 101 (e), 108 (l), 111 (o). Код слова в бинарном представлении выглядит следующим образом:

00010010 (H) 10100110 (e) 00110110 (l) 00110110 (l) 11110110 (o) (старший бит справа).

Выделенные подчеркиванием и жирным коды в двоичном представлении соответствуют номерам ячеек в таблице (рис.1). Алгоритм формирования кода следующий:

1. Выделены жирным – биты управления кодированием (префикс). 010 – кодируется заглавная буква алфавита, 011 – строчная.

2. Выделены подчеркиванием – порядковые номера букв в английском алфавите.

Таким образом, с помощью первых 128 ячеек таблицы ASCII могли быть закодированы основные символы, цифры и буквы английского языка. Остальные 128 ячеек (8 битная кодировка позволяет закодировать 256 символов) могли использоваться для кодирования других языков. Однако, учитывая разнообразие символов и языков, 8 бит недостаточно.

Стандарт Юникод

Консорциум Unicode (Юникод) – некоммерческая организация, главной задачей которой являлась разработка стандарта кодирования (стандарт Юникод) с поддержкой наибольшего числа языков и символов служебного характера. Принцип кодирования на основе таблицы сохранился, а таблица (таблица Юникод) была значительно расширена.

Стандарт Юникод предоставляет пользователям таблицу Юникод и способы кодирования символов.

Символы таблицы Юникод являются элементами «универсального набора символов» UCS (Universal Coded Character Set), определенного международным стандартом ISO/IEC 10646. Таблица Юникод каждому символу UCS сопоставляет кодовую точку, которая является номером ячейки таблицы, содержащей символ.

Способы кодирования символов таблицы Юникод, т.е. преобразования номеров ячеек таблицы Юникод в бинарные коды, составляют кодовое пространство, состоящее из трех кодов семейства UTF (Unicode Transformation Format): UTF-8, UTF-16 и UTF-32

UTF-8 – стандарт кодирования, преобразующий номера ячеек таблицы Юникод в бинарные коды с использованием переменного количества бит: 8, 16, 24 или 32.

UTF-16 – стандарт кодирования, преобразующий номера ячеек таблицы Юникод в бинарные коды с использованием переменного количества бит:16 или 32.

Коды UTF-8 и UTF-16 используют разные алгоритмы кодирования набора символов UCS.

Стандарт кодирования UTF-8

Стандарт закреплен в RFC (Request For Comments) 3629. Алгоритм кодирования согласно RFC:

0xxxxxxx

110xxxxx 10xxxxxx

1110xxxx 10xxxxxx 10xxxxxx

11110xx 10xxxxxx 10xxxxxx 10xxxxxx

Старший бит слева. Началом кода является управляющий символ (выделен жирным):

110 – используется 16-битная кодировка,

1110 – используется 24-битная кодировка,

11110 – используется 32 битная кодировка.

В начале каждого последующего байта – биты 10 – управляющий символ (выделен подчеркиванием), означающий продолжение кодирования.

Первые 128 ячеек таблицы Юникод повторяют таблицу ASCII. Для кодирования заглавных и строчных букв русского алфавита используются ячейки с номерами 1040-1103.

Рассмотрим пример кодирования фразы «Папа Hello».

Код в бинарном виде (старший бит справа):

00001011 11111001 (П) 00001011 00001101 (а) 00001011 11111101 (п) 00001011 00001101 (а) 00000100 (пробел) 00010010 (H) 10100110 (e) 00110110 (l) 00110110 (l) 11110110 (o).

Букве П русского алфавита согласно таблицы Юникод соответствует номер 1055, в бинарном представлении 10000011111 – 11 бит. Соответственно данный символ может быть закодирован двумя байтами с использованием префикса 110 – для первого байта и 10 – для второго байта. Английские буквы слова Hello кодируются 1 байтом, а коды совпадают с кодами в таблице ASCII.

Основными преимуществами способа кодирования UTF-8 являются многообразие символов, которые могут быть закодированы, а также возможность кодирования переменным количеством бит, что позволяет сэкономить количество информации, передаваемое в канале связи.

Стандарт кодирования UTF-16

В феврале 2000 года опубликован документ RFC 2781, в котором закреплен стандарт UTF-16, позволяющий кодировать символы таблицы Юникод с помощью 16 или 32 битных значений. Символы с номерами 0-55295 и 57344-65535 кодируются с помощью 16 бит без изменений (без использования префиксов), а остальные символы, номера которых в двоичном представлении формируются количеством бит больше 16, кодируются 32 битами с использованием специального алгоритма. Рассмотрим пример кодирования фразы «Папа Hello».

Код в бинарном виде (старший бит справа):

11111000 00100000 (П) 00001100 001000000 (а) 11111100 00100000 (п) 00001100 001000000 (а) 00000100 00000000 (пробел) 00010010 00000000 (H) 10100110 00000000 (e) 00110110 00000000 (l) 00110110 00000000 (l) 111110110 00000000 (o).

Номера букв русского и английского алфавитов таблицы Юникод передаются без изменений при помощи 16 бит, старшие незначащие биты принимают нулевое значение.

Рассмотрим подробнее алгоритм кодирования символов, номера которых превышают значение 65535. Для примера в качестве символа используем букву древнетюркского алфавита, представленную на рис.2:

Рис.2. Буква древнетюркского алфавита.

Номер предложенного символа в таблице Юникод – 68620 (0х10COC).

Алгоритм преобразования номера символа в код UTF-16 состоит из нескольких шагов:

Из значения номера символа вычесть число 0х10000. Данная операция позволяет привести размерность бинарного представления номера символа к 20 битам. Для предложенного символа получим: 0х10COC – 0x10000 = 0xC0C.

Для полученного значения выделить старшие 10 бит и младшие 10 бит. В примере число 0хС0С в бинарном виде представляется, как 00000000110000001100, где жирным выделены 10 старших бит, а подчеркиванием – 10 младших.

К шестнадцатеричному значению 0xD800 (11011000 00000000) прибавить значение 0х03 (00000000 00000011), сформированное 10 старшими битами, полученными на предыдущем шаге. 0xD800 + 0х03 = 0хD803 (11011000 00000011) – 16 старших бит кодового слова UTF-16.

К шестнадцатеричному значению 0xDC00 (11011000 00000000) прибавить значение 0х0C (00000000 00001100), сформированное 10 младшими битами, полученными на шаге №2. 0xDС00 + 0х0С = DС0С (11011100 00001100) – 16 младших бит кодового слова UTF-16.

Кодовое слово UTF-16, соответствующее символу в примере, формируется из бит, полученных на шагах 3 и 4: 0хD803DC0C (11011000 00000011 11011100 00001100).

Сравнение стандартов UTF-8 и UTF-16 с точки зрения объема машинной памяти, используемой кодом для представления символов

Результаты сравнения стандартов представлены в таблице 1.

Таблица 1. Результаты сравнения стандартов.

В предыдущих главах приведены примеры кодирования фразы «Папа Hello» стандартами UTF-8 и UTF-16. Кодировкой UTF-8 используются 14 байт, кодировкой UTF-16 20 байт, что связано с избыточностью кодирования англоязычных символов во втором случае из-за использования дополнительного байта 0х00. Можно сделать вывод, что для кодирования текста содержащего набор букв русского и английского алфавитов, предпочтительно использование кодировки UTF-8.

Вывод: в зависимости от языка алфавита может быть выбрана как кодировка UTF-8, так и кодировка UTF-16. Для английского алфавита однозначно более выгодно использование кодировки UTF-8, для русского алфавита буквы представляются одинаковым количеством бит при использовании как одной, так и другой кодировки.

Несколько советов программистам

Допустим, программист решил реализовать текстовый редактор, поддерживающий алфавит языка Бопомофо. Символы данного языка располагаются в таблице Юникод в диапазоне 12549-12589 и, следовательно, программисту необходимо выбрать стандарт UTF-16 для кодирования. Предположим, что для ввода символов решено использовать программную клавиатуру, состоящую из кнопок, каждая из которых соответствует букве алфавита языка. Кнопки – объекты класса button. Нажатие пользователем на какую-либо из кнопок порождает событие, в результате которого приложению становится известен номер ячейки таблицы Юникод. Программисту рекомендуется:

1.Хранить в памяти приложения символы таблицы Юникод и номера ячеек, соответствующие только языкам, поддержка которых планируется в текстовом редакторе. Это уменьшит объем памяти, занимаемой приложением, а также повысит скорость его работы, сузив область поиска номера ячейки.

2. При реализации приложения заранее выполнить преобразование всех номеров ячеек в их бинарные коды. Результат преобразования сохранить в файле, в формализованном виде. При загрузке приложения выполнить считывание в память номеров ячеек и их бинарных кодов UTF-16. Это позволит снизить вычислительную нагрузку приложения в ходе его работы.

3. Для хранения номеров ячеек и их бинарных кодов использовать объект класса, позволяющего осуществить это в виде ключ-значение, где ключ – номер ячейки, а значение – бинарный код. Классы, реализующие в языках программирования данный функционал, организуют работу таким образом, чтобы минимизировать время поиска ключа, используя сортировку ключей или хеширование.

Отметим проблему кодирования составных символов, которая является важным техническим аспектом. Например, символ ü может быть интерпретирован, как самостоятельный символ, которому соответствует номер ячейки 252 или может быть скомпонован из двух символов: u, которому соответствует номер ячейки 117 и символа ¨, которому соответствует номер ячейки 776. Программист должен строго придерживаться одного из вариантов представления таких символов иначе побайтовое сравнение строк будет невозможно. Рекомендуется использование второго варианта, который может облегчить поиск составных символов в тексте. Например, если пользователь осуществляет поиск символа u, то ему может быть выведен в качестве результата, как составной символ ü, так и самостоятельный u.

Анализируя информацию, мы сталкиваемся с необходимостью определения качества и определения количества полученной информации. Определить качество информации чрезвычайно сложно, а часто и вообще невозможно. Какие-либо сведения, например исторические, могут десятилетиями считаться ненужными и вдруг их ценность может резко возрасти.

Вместе с тем определить количество информации не только можно, но и нужно. Это необходимо для того, чтобы сравнить друг с другом различные массивы информации, а также определить, какие размеры должны иметь материальные объекты (бумага, магнитные носители и т.д.), хранящие эту информацию.

Далее, говоря об измерении информации, мы будем иметь в виду определение ее количества.

Единая форма кодирования и измерения количества информации

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

За такой способ принята так называемая двоичная форма представления информации. Она заключается в записи любой информации в виде последовательности только двух символов: 0 и 1 (то есть в виде двоичных чисел) и с технической точки зрения наиболее проста и удобна (есть ток/нет тока, намагничено/размагничено, высокое напряжение/низкое напряжение).

Рассмотрим сначала одноразрядное двоичное число – бит. Оно может принимать два различных значения: 0 и 1

Если с помощью одноразрядного числа попробовать закодировать какую-либо информацию (например, ответ на вопрос «идет ли дождь?»), то мы успешно справимся с поставленной задачей, поскольку количество различных вариантов кодирования в данном случае равно двум (0-не идет, 1-идет).

К = 2 n °, где n – число разрядов двоичного числа.

В общем случае, верно, что чем больше различных видов однотипной информации требуется закодировать, тем больше разрядов двоичного числа (бит) требуется.

Единицы измерения информации

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

Представление текстовой информации в компьютере. Кодовые таблицы

Каждому символу ставится в соответствие двоичное число, причем таким образом, что чем дальше символ расположен от начала алфавита, тем больше значение двоичного числа, которое является кодом данного символа. Сколько разрядов (бит) требуется, чтобы закодировать все буквы, знаки препинания, математические и специальные символы? Легко подсчитать:

  • кириллица (большие и малые буквы) - 66;
  • латинские (большие и малые буквы) - 52;
  • цифры - 10;
  • знаки препинания (. , : ; ‘ « ! ? -) - 9;
  • знаки математических операций (+ - * / ^) - 5.

Таблица кодирования ASCII

Как мы уже выяснили, традиционно для кодирования одного символа используется 8 бит. И, когда люди определились с количеством бит, им осталось договориться о том, каким кодом кодировать тот или иной символ, чтобы не получилось путаницы, т.е. необходимо было выработать стандарт – все коды символов сохранить в специальной таблице кодов. В первые годы развития вычислительной техники таких стандартов не существовало, а сейчас наоборот, их стало очень много, но они противоречивы. Первыми решили эти проблемы в США, в Институте стандартизации. Этот институт ввел в действие таблицу кодов ASCII (American Standard Code for Information Interchange – стандартный код информационного обмена США).

Рассмотрим таблицу кодов ASCII:






Таблица ASCII разделена на две части. Первая – стандартная – содержит коды от 0 до 127. Вторая – расширенная – содержит символы с кодами от 128 до 255.

Первые 32 кода отданы производителям аппаратных средств и называются они управляющие, т.к. эти коды управляют выводом данных. Им не соответствуют никакие символы.

Коды с 32 по 127 соответствуют символам английского алфавита, знакам препинания, цифрам, арифметическим действиям и некоторым вспомогательным символам.

Коды расширенной части таблицы ASCII отданы под символы национальных алфавитов, символы псевдографики и научные символы.

Все буквы расположены в них по алфавиту, а цифры – по возрастанию. Этот принцип последовательного кодирования позволяет определить код символа, не заглядывая в таблицу.

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

Альтернативные системы кодирования кириллицы

  • Система кодирования КОИ-7 (код обмена информацией, семизначный), действовавшая в СССР. Была вскоре вытеснена американским кодом ASCII во вторую, расширенную часть системы кодирования с кодами от 128 по 255.
  • Кодировка Windows-1251. Была введена извне компанией Microsoft Так как программный продукт этой компании – операционная система Windows глубоко закрепилась и широко распространилась, то кодировка Windows-1251 получила широкое применение на компьютерах, работающих под управлением именно этой операционной системы.
  • Кодировка КОИ-8 широко распространена на территории России и в российском секторе Интернета.
  • Кодировка ISO (International Standard Organization — Международный институт стандартизации) – содержит символы русского алфавита, но на практике используется редко.
  • Кодировка ГОСТ – альтернативная. Действует на компьютерах в операционных системах MS-DOS.

Таблица 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-битовой кодировке 1 символ – 16 бит делаем следующие выводы:
МИР – 3 символа = 48 бит (3*16)

Ответ: а) 48 бит; б) 24 бит.

5. Текст занимает полных 2 страницы. На каждой странице размещается 45 строк по 45 символов. Определить объём оперативной памяти, который займёт этот текст.

Решение: Мы знаем, что 1 символ – 8бит – 1 байт , значит нам нужно найти кол-во символов данного текста: 2 страницы*45 строк*45 символов = 4050 символов = 4050 байт

Ответ: 4050 байт

Кодирование графической информации

Общие понятия о графической информации

Графическая информация представляет собой изображение, сформированное из определенного числа точек – пикселей. Добавим к этой информации новые сведения. Процесс разбиения изображения на отдельные маленькие фрагменты (точки) называется пространственной дискретизацией. Ее можно сравнить с построением рисунка из мозаики. При этом каждой мозаике (точке) присваивается код цвета.

От количества точек зависит качество изображения. Оно тем выше, чем меньше размер точки и соответственно большее их количество составляет изображение. Такое количество точек называется разрешающей способностью и обычно существуют четыре основных значений этого параметра: 640x480, 800x600, 1024x768, 1280x1024.

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

Кодирование цвета

Рассмотрим, каким образом происходит кодирование цвета точек. Для кодирования цвета применяется принцип разложения цвета на составляющие. Их три: красный цвет (Red, R), синий (Blue, В) и зелёный (Green, G). Смешивая эти составляющие, можно получать различные оттенки и цвета – от белого до черного.

Сколько бит необходимо выделить для каждой составляющей, чтобы при кодировании изображения его качество было наилучшим?

Если рисунок черно-белый, то общепринятым на сегодняшний день считается представление его в виде комбинации точек с 256 градациями серого, т.е. для кодирования точки достаточно 1 байта.

Если же изображение цветное, то с помощью 1 байта можно также закодировать 256 разных оттенков цветов. Этого достаточно для рисования изображений типа тех, что мы видим в мультфильмах. Для изображений же живой природы этого недостаточно. Если увеличить количество байт до двух (16 бит), то цветов станет в два раза больше, т.е. 65536. Это уже похоже на то, что мы видим на фотографиях и на картинках в журналах, но все равно хуже, чем в живой природе. Увеличим еще количество байтов до трех (24 бита). В этом случае можно закодировать 16,5 миллионов различных цветов. Именно такой режим позволяет работать с изображениями наилучшего качества.

Количество бит, необходимое для кодирования цвета точки называется глубиной цвета. Наиболее распространенными значениями глубины цвета являются 4, 8, 16 и 24 бита на точку.

Количество цветов можно вычислить по формуле: N=2 I , где I – глубина цвета.

  • 00000000 – минимальная интенсивность, соответствующая полному отсутствию данного цвета;
  • 11111111 – максимальная интенсивность, соответствующая присутствию данного цвета целиком;
  • 11110000 – средняя интенсивность, соответствующая более светлому оттенку данного цвета.

Решение задач

1. Какой объём видеопамяти необходим для хранения четырёх страниц изображения при условии, что разрешающая способность дисплея равна 640Х480 точек, а используемых цветов – 32?

  • RS – разрешающая способность (в нашем случае RS = 640Х480);
  • I – глубина (в нашем случае – неизвестно);
  • KS – количество страниц (в нашем случае KS = 4).

Для нахождения I воспользуемся формулой: N=2 I ,
где I – глубина цвета,
N – количество цветов (у нас 32).
Следовательно: 32 = 2 I и значит I = 5 бит.

Теперь все параметры нам известны, находим объём:

V = 640*480*5*4 =6144000 бит = 750 Кбайт (т.к. в 1 байте – 8 бит и в 1 Кбайте – 1024 байт)

Ответ: 750 Кбайт

2. 256-цветный рисунок содержит 1 Кбайт информации. Из скольки точек он состоит?

Решение: Найдём информационный объём одной точки: N = 2 I , 256 = 2 I , I = 8 бит (глубина)

Переведём известный объём в биты: 1Кбайт = 1024 байт*8бит = 8192 бит

Зная глубину и объём находим количество точек на изображении: 8192:8 = 1024 точек

Ответ: 1024 точек

Кодирование звуковой информации

Оцифровка звука

Звук представляет собой звуковую волну с непрерывно меняющейся амплитудой и частотой. Для человека звук тем громче, чем больше амплитуда сигнала, и тем выше тон, чем больше частота сигнала. Непрерывный сигнал не несет в себе информации, поэтому он должен быть превращен в последовательность двоичных нулей и единиц – двоичный (цифровой) код.

Оцифровку звука выполняет специальное устройство на звуковой плате. Называется оно аналого-цифровой преобразователь (АЦП). Обратный процесс – воспроизведение закодированного звука производится с помощью цифро-аналогового преобразователя (ЦАП).

Весь процесс кодирования и декодирования представить в виде следующей схемы:

Схема кодирования звука:



В процессе кодирования непрерывного звукового сигнала производится дискретизация по времени, или, как говорят, «временная дискретизация». Звуковая волна разбивается на отдельные маленькие временные участки и для каждого участка устанавливается определенная величина амплитуд. Данный метод называется импульсно-амплитудной модуляцией РСМ Code Modulation).


Таким образом, гладкая кривая заменяется на последовательность «ступенек».. Каждой «ступеньке» присваивается значение громкости звука (1, 2, 3). Чем больше «ступенек», тем большее количество уровней громкости выделено в процессе кодирования, и тем большее количество информации будет нести значение каждого уровня и более качественным будет звучание.

Характеристики оцифрованного звука

Качество звука зависит от двух характеристик – глубины кодирования и частоты дискретизации. Рассмотрим эти характеристики.

Глубина кодирования звука (I) — это количество бит, используемое для кодирования различных уровней сигнала или состояний. Тогда общее количество таких состояний или уровней (N) можно вычислить по формуле: N=2 I .

Современные звуковые карты обеспечивают 16-битную глубину кодирования звука, и тогда общее количество различных уровней будет: N=2 16 = 65536.

Частота дискретизации (М) – это количество измерений уровня звукового сигнала в единицу времени. Эта характеристика показывает качество звучания и точность процедуры двоичного кодирования. Измеряется в герцах (Гц). Одно измерение за одну секунду соответствует частоте 1 Гц, 1000 измерений за одну секунду – 1 килогерц (кГц). Частота дискретизации звукового сигнала может принимать значения от 8 до 48 кГц. При частоте 8 кГц качество дискретизированного звукового сигнала соответствует качеству радиотрансляции, а при частоте 48 кГц – качеству звучания аудио-CD.

Высокое качество звучания достигается при частоте дискретизации 44,1 кГц и глубины кодирования звука, равной 16 бит. Для мрачного, приглушенного звука характерны следующие параметры: частота дискретизации – 11 кГц, глубина кодирования – 8 бит.

Решение задач

1. Определить объём памяти для хранения моноаудиофайла, время звучания которого составляет пять минут при частоте дискретизации 44 кГц и глубине кодирования 16 бит.

Решение: Воспользуемся формулой: V = M*I*t

В нашем случае М = 44 кГц = 44000 Гц
I = 16 бит
t = 5 минут,
подставляем в формулу и получаем:
V = 44000*16*5 = 3520000 бит = 430 Кбайт (примерно)

Читайте также: