- Кодирование числовой информации
- Введение
- Общие понятие о числовой информации
- Свойства числовой информации
- Способы кодирования числовой информации
- Кодирование целых положительных чисел
- Кодирование числовой информации
- Десятичное и двоичное представление чисел
- Готовые работы на аналогичную тему
- Алгоритмы кодирования чисел в двоичной системе счисления
- Кодирование информации
- Кодирование различных видов информации
- Кодирование текстов
- Кодирования графических данных
- Кодирование звуков
- Кодирование видео
Кодирование числовой информации
Введение
Если у вас возникли какие-либо вопросы при изучении темы «Кодирование числовой информации», то звоните мне и записывайтесь на первый репетиторский урок по информатике и ИКТ. На моих индивидуальных уроках мы с вами закроем текущие пробелы в ваших знаниях и прорешаем колоссальное количество всевозможных тематических упражнений.
Общие понятие о числовой информации
Думаю, что превалирующее число школьников и студентов знает фразу: «Математика – царица всех наук!». А как известно, математика очень интенсивно оперирует числами, цифрами и действиями над числами.
Первый счет появился много тысячелетий назад, так как даже в очень древние времена люди столкнулись с потребностью в счете. Его возникновение связано с желанием человека проинформировать своих соплеменников о количестве обнаруженных им объектов, предметов. По началу люди просто делили предметы по принципу один-много. То есть не было обозначения для двух, трех, десяти и более различных предметов. Их просто обозначали в количественном отношении как много.
Постепенно люди научились подключать к арифметическому счету пальцы на своих руках. С их помощью можно было считать до пяти, а если использовать обе руки, то до десяти различных предметов. Именно десятичная система счисления получило свое развитие на основе использования при счете пальцев рук.
Вернемся в настоящий временной континуум. Для современного человека знания, позволяющие считать предметы и записывать числа, являются обязательными. Арифметика изучается в школе с первого класса. Цифры, используя которые мы записываем числа, называются арабскими. Алфавит арабских цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Всего десять различных цифр или состояний.
Числа можно классифицировать на две фундаментальные группы:
Дробные или действительные числа.
Каждое число из представленных групп может быть либо:
Примеры различных десятичных чисел:
-56 — целое отрицательное число;
12.78 — действительное положительное число;
0.0 — действительное число, равное нулю;
12000 — целое положительное число.
Наша цель – понять, каким образом производится кодирование числовой информации, выраженной целыми или дробными числами, которые являются положительными, отрицательными или равными нулю. Другими словами, мы должны понять, как персональный компьютер хранит, обрабатывает, копирует числа на «своем» уровне.
Свойства числовой информации
Конечность. Информация, выраженная числовым значением, должна быть конечной. Процессор персонального компьютера не сможет обработать число, которое не является конечным или завершенным. То есть прежде чем приступить к кодированию числовой информации, процессор должен быть уверен, что данное значение записано полностью и не будет изменено пользователем.
Понятность. Если мы говорим о кодировании числовой информации, которая представлена десятичным числом, то необходимо, чтобы само число состояло из элементов, которые будут понятны исполнителю при кодировании. Исполнителем является, в строгом приближении, процессор персонального компьютера. Например, число 129 состоит из трех цифр: 1, 2 и 9. Каждое из этих цифр входит в состав арабского алфавита. Если мы представим числовую информацию в виде значения 89J1’4, то подобное значение будет некорректно обработано процессором и он выдаст исключение, то есть сгенерирует ошибку. Почему? Потому что входное число 89J1’4 состоит из элементов: 8, 9, J, 1, ‘, 4, не каждое из которых входит в состав арабского алфавита. Например, элементы J и ‘ не являются арабскими цифрами.
Приведенные два свойства являются ключевыми в алгоритмах кодирования числовой информации. Пожалуй, еще стоит отметить неосновное свойство – размер числа. Но в современном мире мощности персональных компьютеров постоянно увеличиваются и самые эффективные процессоры способы обрабатывать огромные значения.
Способы кодирования числовой информации
Сразу необходимо твердо уяснить следующее: процессор персонального компьютера взаимодействует с любыми данными исключительно на уровне цепочек, состоящих из 0 и 1. Набор нулей и единиц называют двоичным или бинарным кодом. То есть любые текстовые, символьные или числовые значения, которые понятны простому человеку, процессор преобразует в двоичный код. Следовательно, наша задача – научиться переводить числовые значения в бинарное представление, состоящее из цепочек 0 и 1.
Для полного осознания алгоритма кодирования числовой информации необходимо очень хорошо уяснить понятие «Машинное слово». Возможно вы слышали, что иногда пользователи говорят, что на их компьютерах установлена 32-х разрядная или 64-х разрядная система Microsoft Windows. Именно значение разрядности (в приведенном примере это 32 или 64) и отвечает за то, сколько бит информации будет выделено для хранения какого-либо математического значения при кодировании числовой информации. То есть, если нам дано положительное целое число 25, то при преобразовании его в бинарный код, ему будет выделено 32 или 64 бита. Также напомню, что один байт информации состоит из 8 битов.
Далее по тексту я буду работать на уровне 16-и разрядной системы. То есть любое кодирование числовой информации будет представлено с использованием машинного слова в 16 бит.
Кодирование целых положительных чисел
Это наиболее простой способ кодирования данных, так как для его реализации необходимо уметь переводить числа из десятичной системы счисления в двоичную систему. Ниже я приведу таблицу, в которой покажу кодирование целых положительных чисел различной значности.
Исходное десятичное число
Закодированное десятичное число в двоичном коде
Источник
Кодирование числовой информации
Вы будете перенаправлены на Автор24
Десятичное и двоичное представление чисел
Для работы с числовой информацией мы пользуемся системой счисления, содержащей десять цифр: от $0$ до $9$. Эта система называется десятичной.
Кроме цифр, в десятичной системе большое значение имеют разряды. Подсчитывая количество чего-нибудь и дойдя до самой большой из доступных нам цифр (до $9$), мы вводим второй разряд и дальше каждое последующее число формируем из двух цифр. Дойдя до $99$, мы вынуждены вводить третий разряд. В пределах трех разрядов мы можем досчитать уже до $999$ и т.д.
Таким образом, используя всего десять цифр и вводя дополнительные разряды, мы можем записывать и проводить математические операции с любыми, даже самыми большими числами.
Компьютер ведет подсчет аналогичным образом, но имеет в своем распоряжении всего две цифры — логический ноль (отсутствие у бита какого-то свойства) и логическую единицу (наличие у бита этого свойства).
Система счисления, использующая только две цифры, называется двоичной. При подсчете в двоичной системе добавлять каждый следующий разряд приходится гораздо чаще, чем в десятичной.
Вот таблица первых десяти чисел в каждой из этих систем счисления:
Как видите, в десятичной системе счисления для отображения любой из первых десяти цифр достаточно $1$ разряда. В двоичной системе для тех же целей потребуется уже $4$ разряда.
Готовые работы на аналогичную тему
Соответственно, для кодирования этой же информации в виде двоичного кода нужен носитель емкостью как минимум $4$ бита ($0,5$ байта). Человеческий мозг, привыкший к десятичной системе счисления, плохо воспринимает систему двоичную. Хотя обе они построены на одинаковых принципах и отличаются лишь количеством используемых цифр. В двоичной системе точно так же можно осуществлять любые арифметические операции с любыми числами. Главный ее минус — необходимость иметь дело с большим количеством разрядов.
Так, самое большое десятичное число, которое можно отобразить в 8 разрядах двоичной системы — $255$, в $16$ разрядах – $65535$, в $24$ разрядах – $16777215$.
Алгоритмы кодирования чисел в двоичной системе счисления
Компьютер, кодируя числа в двоичный код, основывается на двоичной системе счисления. Но, в зависимости от особенностей чисел, может использовать разные алгоритмы:
Небольшие целые числа без знака.
Для сохранения каждого такого числа на запоминающем устройстве, как правило, выделяется $1$ байт ($8$ битов). Запись осуществляется в полной аналогии с двоичной системой счисления.
Целые десятичные числа без знака, сохраненные на носителе в двоичном коде, будут выглядеть примерно так:
Большие целые числа и числа со знаком.
Для записи каждого такого числа на запоминающем устройстве, как правило, отводится $2$-байтний блок ($16$ битов).
Старший бит блока (тот, что крайний слева) отводится под запись знака числа и в кодировании самого числа не участвует. Если число со знаком «плюс», этот бит остается пустым, если со знаком «минус» – в него записывается логическая единица. Число же кодируется в оставшихся 15 битах. Например, алгоритм кодирования числа $+2676$ будет следующим:
- Перевести число $2676$ из десятичной системы счисления в двоичную. В итоге получится $101001110100$;
- Записать полученное двоичное число в первые $15$ бит $16$-битного блока (начиная с правого края). Последний, $16$-й бит, должен остаться пустым, поскольку кодируемое число имеет знак $+$.
В итоге $+2676$ в двоичном коде на запоминающем устройстве будет выглядеть так:
Примечательно, что в двоичном коде присвоение числу отрицательного значения предусматривает не только изменение старшего бита. Осуществляется также инвертирование всех остальных его битов.
Чтобы было понятно, рассмотрим алгоритм кодирования числа $-2676$:
- Перевести число $2676$ из десятичной системы счисления в двоичную. Получим все тоже двоичное число $101001110100$;
- Записать полученное двоичное число в первые $15$ бит $16$-битного блока. Затем инвертировать, то есть, изменить на противоположное, значение каждого из $15$ битов;
- Записать в $16$-й бит логическую единицу, поскольку кодируемое число имеет отрицательное значение.
В итоге $-2676$ на запоминающем устройстве в двоичном коде будет иметь следующий вид:
Запись отрицательных чисел в инвертированной форме позволяет заменить все операции вычитания, в которых они участвуют, операциями сложения. Это необходимо для нормальной работы компьютерного процессора.
Максимальным десятичным числом, которое можно закодировать в $15$ битах запоминающего устройства, является $32767$. Иногда для записи чисел по этому алгоритму выделяются $4$-байтные блоки. В таком случае для кодирования каждого числа будет использоваться $31$ бит плюс $1$ бит для кодирования знака числа. Тогда максимальным десятичным числом, сохраняемым в каждую ячейку, будет $2147483647$ (со знаком плюс или минус).
Дробные числа со знаком.
Дробные числа на запоминающем устройстве в двоичном коде кодируются в виде так называемых чисел с плавающей запятой (точкой). Алгоритм их кодирования сложнее, чем рассмотренные выше. Тем не менее, попытаемся разобраться.
Для записи каждого числа с плавающей запятой компьютер чаще всего выделяет $4$-байтную ячейку ($32$ бита):
- в старшем бите этой ячейки (тот, что крайний слева) записывается знак числа. Если число отрицательное, в этот бит записывается логическая единица, если оно со знаком «плюс» – бит остается пустым.
- во втором слева бите аналогичным образом записывается знак порядка (что такое порядок поймете позже);
- в следующих за ним $7$ битах записывается значение порядка.
- в оставшихся $23$ битах записывается так называемая мантисса числа.
Чтобы стало понятно, что такое порядок, мантисса и зачем они нужны, переведем в двоичный код десятичное число $6,25$.
Порядок кодирования будет примерно следующим:
- Перевести десятичное число в двоичное (десятичное $6,25$ равно двоичному $110,01$);
- Определить мантиссу числа. Для этого в числе необходимо передвинуть запятую в нужном направлении, чтобы слева от нее не осталось ни одной единицы. В нашем случае запятую придется передвинуть на три знака влево. В итоге, получим мантиссу, $11001$;
- Определить значение и знак порядка. Значение порядка – это количество символов, на которое была сдвинута запятая для получения мантиссы. В нашем случае оно равно $3$ (или $11$ в двоичной форме);
Знак порядка – это направление, в котором пришлось двигать запятую: влево – «плюс», вправо – «минус». В нашем примере запятая двигалась влево, поэтому знак порядка – «плюс».
Таким образом, порядок двоичного числа $110,01$ будет равен $+11$, а его мантисса, $11001$. В результате в двоичном коде на запоминающем устройстве это число будет записано следующим образом
Обратите внимание, что мантисса в двоичном коде записывается, начиная с первого после запятой знака, а сама запятая упускается. Числа с плавающей запятой, кодируемые в $32$ битах, называю числами одинарной точности. Когда для записи числа $32$-битной ячейки недостаточно, компьютер может использовать ячейку из $64$ битов. Число с плавающей запятой, закодированное в такой ячейке, называется числом двойной точности.
Источник
Кодирование информации
Информация бывает разного вида, например:
— запах, вкус, звук;
— символы и знаки.
В разных отраслях науки, культуры и техники разработаны специальные формы для записи информации.
Код — это группа обозначений, которую можно использовать для отображения информации.
Процесс преобразования сообщения в комбинацию символов в соответствии с кодом называется кодированием .
- Числовой способ — с помощью чисел.
- Символьный способ — информация кодируется с помощью символов того же алфавита, что и исходящий текст.
- Графический способ — информация кодируется с помощью рисунков или значков.
Примеры кодирования информации:
— для отображения звуков русского алфавита используют буквы (АБВГДЕЁЖ…ЭЮЯ);
— для отображения чисел используют цифры (0123456789);
— звуки записывают нотами и другими символами;
— слепые используют азбуку Брайля, где буква состоит из шести элементов: дырочек и бугорков.
Надо учитывать, что не зная принципы кодирования информации, один и тот же код, можно понять по-разному, например, число 300522005 можно посчитать за число, номер телефона или за количество населения.
В компьютере кодируют введённую информацию: текст, изображения и звуки. В закодированном виде компьютер обрабатывает, хранит и пересылает информацию. Чтобы вывести информацию из компьютера в понятной для человека форме, её надо декодировать .
Методами шифрования занимается специальная наука — криптография .
В компьютере для кодирования любой информации используются только два символа: 0 и 1 , так как компьютерной технике проще реализовывать два состояния:
0 — сигнала нет (нету напряжения или не течёт ток);
1 — сигнал есть (есть напряжение или течёт ток).
Создание кода.
Одним битов можно кодировать два состояния: 0 и 1 (да и нет, чёрный и белый). При увеличении количества битов на один получится в два раза больше кодов.
Пример:
Два бита создают 4 разных кода: 00, 01, 10 и 11;
три бита создают 8 разных кодов: 000, 001, 010, 011, 100, 101, 110, и 111.
Кодирование различных видов информации
Кодирование текстов
При кодировании текста каждому символу присваивается какое-то значение, например, порядковый номер.
Первый популярный компьютерный стандарт кодирования текста имеет название ASCII (American Standart Code for Information Interchange), в котором для кодирования каждого символа используются 7 бит.
7-ю битами можно закодировать 128 символов: большие и маленькие латинские буквы, цифры, знаки препинания, а так же специальные символы, например, «§».
Стандарту создавали разные варианты, дополняя код до 8 бит (256 символов), чтобы можно было кодировать национальные символы, например, латышскую букву ā.
Но 256 символов не хватило, чтобы кодировать все символы разных алфавитов, поэтому создали новые стандарты. Один из самых популярных в наше время, это UNICODE. В котором каждый символ кодируют 2-мя байтами, получается в итоге 62536 разных кодов.
Кодирования графических данных
Почти все созданные и обработанные изображения, хранящиеся в компьютере, можно поделить на две группы:
Любое изображение созданное в растровой графике состоит их цветных точек. Эти точки называют пикселями (pixel) .
Для кодирования не цветных изображений обычно используют 256 оттенков серого, начиная от белого, заканчивая чёрным. Для кодирования всех цветов надо 8 битов (1 байт).
Для кодирования цветных изображений обычно используют три цвета: красный, зелёный и синий. Цветной тон получается при смешивании этих трёх цветов.
Размер изображения можно посчитать, умножив его ширину на длину в пикселях. Например, изображение размером 200⋅100 пикселей, занимает 60000 байт.
Кодирование звуков
Звуки появляются из-за колебаний воздуха. У звука есть две величины:
— амплитуда колебания, которая указывает на громкость звука;
— частота колебания, которая указывает на тональность звука.
Звук можно переделать в электрический сигнал, например, микрофоном.
Звук кодируют, после точного интервала времени измеряя размер сигнала и присваивая ему бинарную величину. Чем чаще проводятся эти измерения, тем лучше качество звука.
Пример:
На одном компакт диске, с объемом 700 Мб, может вместиться 80 минут звука CD качества.
Кодирование видео
Фильм состоит из кадров, которые быстро меняются. Кодированный фильм содержит информацию о размере кадра, используемых цветах, и количество кадров в секунду (обычно 30), как и способ записи звука — каждому кадру отдельно или всему фильму сразу.
Источник