для чего нужна процедура кодирования передаваемой информации
Что такое кодирование и шифрование информации: отличия и особенности
Часто в процессе программирования мы слышим разные слова и определения, которые вроде означают одно и т о ж е, но на самом деле имеют различное значение. Сегодня разберем две такие пары:
Часто значение этих двух слов путают, а на самом деле они означают разные рабочие направления.
Это будет означать одно и то же по смыслу, потому что кодер в качестве своего основного инструмента использует какой-нибудь язык программирования.
Кодирование и шифрование информации
Что такое хеширование
Главная цель хеширования — это преобразовать входящие данные в определенной и уникальной последовательности символов таким образом, чтобы не было возможности заполучить эти самые входящие данные в их исходном виде.
Для расчета таких хеш-сумм применяются специализированные скрипты. Примером применения хеша является:
Что такое шифрование информации
Шифрование очень схоже по смыслу с кодированием, они могут и часто используются как синонимы, однако значения этих терминов преследуют немного разнонаправленные цели.
Шифрование бывает разным, но цель любого шифрования — это сделать нечитабельной какую-то информацию. Часто для расшифровки (расшифровка — это обратный процесс шифрования) нужно обладать ключом или ключами шифрования информации. При использовании 2-х ключей первый ключ — всегда открытый и применяется для шифровки информации, а второй ключ — всегда закрытый и используется для расшифровки информации.
Задач а любого шифрования — полностью предотвратить злоумышленный доступ к данным всем, кто не обладает соответствующим ключом для расшифровки этих самых данных.
Что такое кодирование информации
Главная цель кодирования — это преобразовать входящую информацию в такую последовательность символов, чтобы потом было удобно обрабатывать или считывать такую информацию другими пользователями, устройствами или программами.
Типичными примерами кодирования являются:
Подытожим
Мы будем очень благодарны
если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.
Урок 13
Хранение и передача информации (§§ 7, 8)
Содержание урока
Передача информации
Передача информации
• Распространение информации происходит в процессе ее передачи. • Процесс передачи информации протекает от источника к приемнику по информационным каналам связи. В этом параграфе более подробно будут рассмотрены технические системы передачи информации. Ранее уже говорилось о том, что первой в истории технической системой передачи информации стал телеграф. В 1876 году американец Александр Белл изобрел телефон. На основании открытия немецким физиком Генрихом Герцем электромагнитных волн (1886 год), А. С. Попов в России в 1895 году и почти одновременно с ним в 1896 году Г. Маркони в Италии изобрели радио. Телевидение и Интернет появились в XX веке. Модель передачи информации К. ШеннонаВсе перечисленные способы информационной связи основаны на передаче на расстояние физического (электрического или электромагнитного) сигнала и подчиняются некоторым общим законам. Исследованием этих законов занимается теория связи, возникшая в 1920-х годах. Математический аппарат теории связи — математическую теорию связи разработал американский ученый Клод Шеннон. Клодом Шенноном была предложена модель процесса передачи информации по техническим каналам связи, представленная схемой на рис. 2.1. Работу такой схемы можно пояснить на знакомом всем процессе разговора по телефону. Источником информации является говорящий человек. Кодирующим устройством — микрофон телефонной трубки, с помощью которого звуковые волны (речь) преобразуются в электрические сигналы. Каналом связи служит телефонная сеть (провода, коммутаторы телефонных узлов, через которые проходит сигнал). Декодирующим устройством является телефонная трубка (наушник) слушающего человека — приемника информации. Здесь пришедший электрический сигнал превращается в звук. В теме «Информация. Представление информации» уже говорилось о кодировании на примере передачи информации через письменный документ. Кодирование там было определено как процесс представления информации в виде, удобном для ее хранения и/или передачи.
Современные компьютерные системы передачи информации — компьютерные сети, работают по тому же принципу. Есть процесс кодирования, преобразующий двоичный компьютерный код в физический сигнал того типа, который передается по каналу связи. Декодирование заключается в обратном преобразовании передаваемого сигнала в компьютерный код. Например, при использовании телефонных линий в компьютерных сетях функции кодирования/декодирования выполняет прибор, который называется модемом. Пропускная способность канала и скорость передачи информацииРазработчикам технических систем передачи информации приходится решать две взаимосвязанные задачи: как обеспечить наибольшую скорость передачи информации и как уменьшить потери информации при передаче. К. Шеннон был первым ученым, взявшимся за решение этих задач и создавшим новую для того времени науку — теорию информации. Шеннон определил способ измерения количества информации, передаваемой по каналам связи. Им было введено понятие пропускной способности канала как максимально возможной скорости передачи информации. Эта скорость измеряется в битах в секунду (а также килобитах в секунду, мегабитах в секунду).
• телефонные линии; • электрическая кабельная связь; • оптоволоконная кабельная связь; • радиосвязь. Пропускная способность телефонных линий — десятки и сотни Кбит/с; пропускная способность оптоволоконных линий и линий радиосвязи измеряется десятками и сотнями Мбит/с. Скорость передачи информации связана не только с пропускной способностью канала связи. Представьте себе, что текст на русском языке, содержащий 1000 знаков, передается с использованием двоичного кодирования. В первом случае используется телеграфная 5-разрядная кодировка. Во втором случае — компьютерная 8-разрядная кодировка. Тогда длина кода сообщения в первом случае составит 5000 битов, во втором случае — 8000 битов. При передаче по одному и тому же каналу второе сообщение будет передаваться дольше в 1,6 раза (8000/5000). Отсюда, казалось бы, следует вывод: длину кода сообщения нужно делать минимально возможной.
Шум, защита от шумаТермином «шум» называют разного рода помехи, искажающие передаваемый сигнал и приводящие к потере информации. Такие помехи, прежде всего, возникают по техническим причинам, таким как плохое качество линий связи, незащищенность друг от друга различных потоков информации, передаваемых по одним и тем же каналам. Существуют и другие источники помех, имеющие физическое происхождение. Иногда, например, беседуя по телефону, мы слышим шум, треск, мешающие понять собеседника, или на наш разговор накладывается разговор других людей. Наличие шума приводит к потере передаваемой информации. В таких случаях необходима защита от шума. Для этого в первую очередь применяются технические способы защиты каналов связи от воздействия шумов. Такие способы бывают самыми разными, иногда простыми, иногда очень сложными. Например: использование экранированного кабеля вместо «голого» провода; применение разного рода фильтров, отделяющих полезный сигнал от шума и пр. Шеннон разработал специальную теорию кодирования, дающую методы борьбы с шумом. Одна из важных идей этой теории состоит в том, что передаваемый по линии связи код должен быть избыточным. За счет этого потеря какой-то части информации при передаче может быть компенсирована. Например, если при разговоре по телефону вас плохо слышно, то, повторяя каждое слово дважды, вы имеете больше шансов на то, что собеседник поймет вас правильно. В системах передачи информации используется так называемое помехоустойчивое кодирование, вносящее определенную избыточность. Однако нельзя делать избыточность слишком большой. Это приведет к задержкам и удорожанию связи. Теория кодирования как раз и позволяет получить такой код, который будет оптимальным: избыточность передаваемой информации будет минимально возможной, а достоверность принятой информации — максимальной. Большой вклад в научную теорию связи внес известный советский ученый Владимир Александрович Котельников. В 1940-1950-х годах им получены фундаментальные научные результаты по проблеме помехоустойчивости систем передачи информации. В современных системах цифровой связи для борьбы с потерей информации при передаче часто применяется следующий прием. Все сообщение разбивается на порции — блоки. Для каждого блока вычисляется контрольная сумма (сумма двоичных цифр), которая передается вместе с данным блоком. В месте приема заново вычисляется контрольная сумма принятого блока и, если она не совпадает с первоначальной суммой, передача данного блока повторяется. Так происходит до тех пор, пока исходная и конечная контрольные суммы не совпадут. Вопросы и задания1. Для чего нужна процедура кодирования передаваемой информации? 2. Что такое декодирование? Каким должен быть его результат? 3. Каким техническим средством связи вы чаще всего пользуетесь? Замечали ли вы при этом факты потери информации? 4. Назовите устройства кодирования и декодирования при использовании радиосвязи. 5. Что такое шум по отношению к системам передачи данных? 6. Какие существуют способы борьбы с шумом? 7. Пропускная способность канала связи 100 Мбит/с. Уровень шума пренебрежимо мал (например, оптоволоконная линия). Определите, за какое время по каналу будет передан текст, информационный объем которого составляет 100 Кб. 8. Пропускная способность канала связи 10 Мбит/с. Канал подвержен воздействию шума, поэтому избыточность кода передачи составляет 20%. Определите, за сколько времени по каналу будет передан текст, информационный объем которого составляет 100 Кб. Следующая страница Трактовка понятийЧеловеческие мысли выражаются в виде текста, который состоит из слов. Подобное представление информации называется алфавитным, так как основа языка — алфавит. Он считается конечным набором различных знаков любой природы. Их используют для составления сообщений. Запись 251299 может нести следующие смысловые нагрузки: Чтобы зашифровать данные, необходимо знать правила записи кодов (условные обозначения информации). Понятие кодирование связано с преобразованием сообщений в комбинацию символов с учётом кодов. При общении люди используют русский либо другой национальный язык. В процессе код передаётся звуками, а при письме с помощью букв. У водителей обработка информации осуществляется сигналами, оптикой. Восприятие сигналов светофора — основная цель, для чего нужна процедура кодирования передаваемой информации при переходе через дорогу. В этом случае зашифровка сводится к применению совокупности символов по правилам дорожного движения. В различных отраслях культуры, науки, техники разработаны специфические формы записи данных:
Двоичная методикаВ процессе развития технологий учёные разработали несколько способов и видов кодирования информации. В конце XIX века американец Морзе Сэмюель разработал уникальную систему шифрования. В её основе находятся 3 символа:
Через 1 бит можно выразить: Если число битов увеличивается до двух, тогда выражаются в таблице 4 разных понятия: 00 01 10 11. Чтобы понимать кодирование целых чисел (ЦЧ), потребуется ознакомиться с ДК. Полученные результаты помещаются в ячейки. Для определения знака «плюс» применяется нуль, а для «минуса» — единица. Чтобы зашифровать действительные числа, изучается специальный формат, в котором предусмотрена плавающая запятая. Для предметного опознания проводится декодирование. Процесс совершается индивидом с учётом анализа полученной информации. Текстовое значениеЧтобы разобраться в теме кодирования текста, потребуется сопоставить буквам порядковые номера. Можно править процессом хранения двоичного кода одного знака 1 байтом либо 8 битами. Так как значение бита равняется 1 либо 0, тогда количество возможных сочетаний в байте равняется 256, что достаточно для зашифровки текста, графических символов, цифр. Смысл кодирования: одному символу принадлежит код в пределах 0−255 либо двоичный код от 00000000 до 11111111. На примере человек различает символы с учётом их начертания, а вычислительная техника — кода. В мировой практике для кодирования текста при помощи байтов используются разные стандарты. Первоосновной считается стандарт ASCII. Он разработан Национальным институтом ANSI. Система основана на 2-х таблицах шифрования: Знаки в пределах 0−32 соответствуют операциям, а 33−127 — символам из латинского алфавита, знакам препинания и арифметики. Для национальной кодировки применяются показатели 128−255. За всю историю существования русского языка использовались следующие кодовые таблицы: Текст, зашифрованный по одной системе, может неверно поясняться в другой. Растровое изображениеГрафические данные на мониторе представляются в качестве растрового изображения. Для его формирования применяется конкретное количество строк из пикселей (точек). Для каждого пикселя характерен знаковый код, в котором хранится информация об оттенке пикселя. Чтобы получить чёрно-белое фото, требуется 2 состояния: чёрный (0) и белый (1). Так как для восстановления полной картинки используется несколько красок, поэтому одного бита на пиксель недостаточно. Для передачи фото из 4-х оттенков, понадобится 2 бита на 1 пиксель. Формирование цветного изображения на мониторе осуществляется путём смешивания 3-х основных цветов: синего, красного и зелёного. Из этих оттенков получается 8 комбинаций. Кодировка изображения из восьми цветов проводится с помощью трёх битов памяти на 1 пиксель. Чтобы получить разноцветную картинку, увеличивается число нужных вариантов сочетаний оттенков. Для палитры из 16 цветов понадобится 4-разрядная кодировка пикселя. На три бита базовых оттенков приходится 1 бит интенсивности. Он отвечает за яркость всех цветов одновременно. Для определения объёма растрового изображения потребуется умножить число точек на аналогичный показатель, характерный для одной точки. Чтобы представить графическую информацию, применяется векторное изображение. Оно представлено в виде соответствующего объекта, состоящего из стандартных отрезков и дуг. Их положение определяется путём нахождения координат точек, длины радиуса. У каждой линии есть свой тип:
Звуки и их разрядностьC 90-х годов компьютеры работают со звуковой информацией. В каждой вычислительной машине предусмотрена звуковая плата, колонки, микрофон. С их помощью производится запись, сохраняются и воспроизводятся звуки — волны с определённой частотой и амплитудой. Чем больше последний показатель, тем он громче для человеческого восприятия. Чем будет больше частота, тем выше тон. Современное программное обеспечение для компьютеров преобразовывает звуковые сигналы в последовательность электроимпульсов. Для шифровки последних явлений используются двоичная форма и аудиоадаптер либо звуковая плата. Устройство подключается к компьютеру с целью преобразования электроколебаний звуковой частоты в двоичный код. Процесс наблюдается при вводе звуков и обратном их преобразовании. В задачи аудиоадаптера входят: Качество звука определяется следующими понятиями: дискретизация и разрядность. Первый термин связан с количеством измерений входящих сигналов за одну секунду. Показатель измеряется в герцах (Гц). Для одного измерения за секунду характерна частота в 1 Гц. Под разрядностью подразумевается число бит в регистре звуковой платы. Величина определяет точность измерения входящих сигналов. Чем она выше, тем меньше погрешность отдельных преобразований величины электросигнала в число и обратно. Для разрядности равной 8 получается 256 разных значений. Аудиоадаптер, в котором предусмотрено 16 разрядов, лучше кодирует и воспроизводит звуки, чем 8-разрядный аналог. Чтобы закодировать файл со звуковой информацией, используется числовая двоичная форма. Машинные командыВ вычислительных машинах, включая компьютеры, предусмотрена программа для управления их работой. Все команды кодируются в определённой последовательности с помощью нулей и единиц. Подобные действия называются машинными командами (МК). Они содержат в себе некоторую информацию: У каждого процессора МК со стандартным форматом и строгой фиксированной длиной сама команда состоит из адреса и кода операции. Последний показатель описывает действия процессора. По адресной части определяется, где была произведена операция. С учётом её структуры она классифицируется на моно- и мультиадресные части. Длина кода зависит от числа действий, которые входят в систему компьютера. Кодирование и декодирование информацииТеория к заданию 5 из ЕГЭ по информатикеИнформация и ее кодированиеРазличные подходы к определению понятия «информация». Виды информационных процессов. Информационный аспект в деятельности человекаИнформация (лат. informatio — разъяснение, изложение, набор сведений) — базовое понятие в информатике, которому нельзя дать строгого определения, а можно только пояснить: Понятие «информация» является общенаучным, т. е. используется в различных науках: физике, биологии, кибернетике, информатике и др. При этом в каждой науке данное понятие связано с различными системами понятий. Так, в физике информация рассматривается как антиэнтропия (мера упорядоченности и сложности системы). В биологии понятие «информация» связывается с целесообразным поведением живых организмов, а также с исследованиями механизмов наследственности. В кибернетике понятие «информация» связано с процессами управления в сложных системах. Основными социально значимыми свойствами информации являются: В человеческом обществе непрерывно протекают информационные процессы: люди воспринимают информацию из окружающего мира с помощью органов чувств, осмысливают ее и принимают определенные решения, которые, воплощаясь в реальные действия, воздействуют на окружающий мир. Информационный процесс — это процесс сбора (приема), передачи (обмена), хранения, обработки (преобразования) информации. Сбор информации — это процесс поиска и отбора необходимых сообщений из разных источников (работа со специальной литературой, справочниками; проведение экспериментов; наблюдения; опрос, анкетирование; поиск в информационно-справочных сетях и системах и т. д.). Передача информации — это процесс перемещения сообщений от источника к приемнику по каналу передачи. Информация передается в форме сигналов — звуковых, световых, ультразвуковых, электрических, текстовых, графических и др. Каналами передачи могут быть воздушное пространство, электрические и оптоволоконные кабели, отдельные люди, нервные клетки человека и т. д. Хранение информации — это процесс фиксирования сообщений на материальном носителе. Сейчас для хранения информации используются бумага, деревянные, тканевые, металлические и другие поверхности, кино- и фотопленки, магнитные ленты, магнитные и лазерные диски, флэш-карты и др. Обработка информации — это процесс получения новых сообщений из имеющихся. Обработка информации является одним из основных способов увеличения ее количества. В результате обработки из сообщения одного вида можно получить сообщения других видов. Защита информации — это процесс создания условий, которые не допускают случайной потери, повреждения, изменения информации или несанкционированного доступа к ней. Способами защиты информации являются создание ее резервных копий, хранение в защищенном помещении, предоставление пользователям соответствующих прав доступа к информации, шифрование сообщений и др. Язык как способ представления и передачи информацииДля того чтобы сохранить информацию и передать ее, с давних времен использовались знаки. В зависимости от способа восприятия знаки делятся на: Для долговременного хранения знаки записывают на носители информации. Для передачи информации используются знаки в виде сигналов (световые сигналы светофора, звуковой сигнал школьного звонка и т. д.). По способу связи между формой и значением знаки делятся на: Для представления информации используются знаковые системы, которые называются языками. Основу любого языка составляет алфавит — набор символов, из которых формируется сообщение, и набор правил выполнения операций над символами. Системы счисления также можно рассматривать как формальные языки. Так, десятичная система счисления — это язык, алфавит которого состоит из десяти цифр 0..9, двоичная система счисления — язык, алфавит которого состоит из двух цифр — 0 и 1. Методы измерения количества информации: вероятностный и алфавитныйЕдиницей измерения количества информации является бит. 1 бит — это количество информации, содержащейся в сообщении, которое вдвое уменьшает неопределенность знаний о чем-либо. Связь между количеством возможных событий N и количеством информации I определяется формулой Хартли: При алфавитном подходе к определению количества информации отвлекаются от содержания (смысла) информации и рассматривают ее как последовательность знаков определенной знаковой системы. Набор символов языка (алфавит) можно рассматривать как различные возможные события. Тогда, если считать, что появление символов в сообщении равновероятно, по формуле Хартли можно рассчитать, какое количество информации несет каждый символ: Например, в русском языке 32 буквы (буква ё обычно не используется), т. е. количество событий будет равно 32. Тогда информационный объем одного символа будет равен: I = log2 32 = 5 битов. Если N не является целой степенью 2, то число log2N не является целым числом, и для I надо выполнять округление в большую сторону. При решении задач в таком случае I можно найти как log2N’, где N′ — ближайшая к N степень двойки — такая, что N′ > N. Например, в английском языке 26 букв. Информационный объем одного символа можно найти так: N = 26; N’ = 32; I = log2N’ = log2(2 5 ) = 5 битов. Если количество символов алфавита равно N, а количество символов в записи сообщения равно М, то информационный объем данного сообщения вычисляется по формуле: Примеры решения задач Пример 1. Световое табло состоит из лампочек, каждая из которых может находиться в одном из двух состояний («включено» или «выключено»). Какое наименьшее количество лампочек должно находиться на табло, чтобы с его помощью можно было передать 50 различных сигналов? Пример 2. Метеорологическая станция ведет наблюдения за влажностью воздуха. Результатом одного измерения является целое число от 0 до 100, которое записывается при помощи минимально возможного количества битов. Станция сделала 80 измерений. Определите информационный объем результатов наблюдений. Решение. В данном случае алфавитом является множество целых чисел от 0 до 100. Всего таких значений 101. Поэтому информационный объем результатов одного измерения I = log2101. Это значение не будет целочисленным. Заменим число 101 ближайшей к нему степенью двойки, большей 101. Это число 128 = 27. Принимаем для одного измерения I = log2128 = 7 битов. Для 80 измерений общий информационный объем равен: 80 · 7 = 560 битов = 70 байтов. Вероятностный подход к измерению количества информации применяют, когда возможные события имеют различные вероятности реализации. В этом случае количество информации определяют по формуле Шеннона: $N$ — количество возможных событий; Например, пусть при бросании несимметричной четырехгранной пирамидки вероятности отдельных событий будут равны: Тогда количество информации, которое будет получено после реализации одного из них, можно вычислить по формуле Шеннона: Единицы измерения количества информацииНаименьшей единицей информации является бит (англ. binary digit (bit) — двоичная единица информации). Бит — это количество информации, необходимое для однозначного определения одного из двух равновероятных событий. Например, один бит информации получает человек, когда он узнает, опаздывает с прибытием нужный ему поезд или нет, был ночью мороз или нет, присутствует на лекции студент Иванов или нет и т. д. В информатике принято рассматривать последовательности длиной 8 битов. Такая последовательность называется байтом. Производные единицы измерения количества информации: 1 килобайт (Кб) = 1024 байта = 2 10 байтов 1 мегабайт (Мб) = 1024 килобайта = 2 20 байтов 1 гигабайт (Гб) = 1024 мегабайта = 2 30 байтов 1 терабайт (Тб) = 1024 гигабайта = 2 40 байтов Процесс передачи информации. Виды и свойства источников и приемников информации. Сигнал, кодирование и декодирование, причины искажения информации при передачеИнформация передается в виде сообщений от некоторого источника информации к ее приемнику посредством канала связи между ними. В качестве источника информации может выступать живое существо или техническое устройство. Источник посылает передаваемое сообщение, которое кодируется в передаваемый сигнал. Сигнал — это материально-энергетическая форма представления информации. Другими словами, сигнал — это переносчик информации, один или несколько параметров которого, изменяясь, отображают сообщение. Сигналы могут быть аналоговыми (непрерывными) или дискретными (импульсными). Сигнал посылается по каналу связи. В результате в приемнике появляется принимаемый сигнал, который декодируется и становится принимаемым сообщением. Передача информации по каналам связи часто сопровождается воздействием помех, вызывающих искажение и потерю информации. Примеры решения задач Пример 1. Для кодирования букв А, З, Р, О используются двухразрядные двоичные числа 00, 01, 10, 11 соответственно. Этим способом закодировали слово РОЗА и результат записали шестнадцатеричным кодом. Указать полученное число. Решение. Запишем последовательность кодов для каждого символа слова РОЗА: 10 11 01 00. Если рассматривать полученную последовательность как двоичное число, то в шестнадцатеричном коде оно будет равно: 1011 01002 = В416. Скорость передачи информации и пропускная способность канала связиПрием/передача информации может происходить с разной скоростью. Количество информации, передаваемое за единицу времени, есть скорость передачи информации, или скорость информационного потока. Скорость выражается в битах в секунду (бит/с) и кратных им Кбит/с и Мбит/с, а также в байтах в секунду (байт/с) и кратных им Кбайт/с и Мбайт/с. Максимальная скорость передачи информации по каналу связи называется пропускной способностью канала. Примеры решения задач Пример 1. Скорость передачи данных через ADSL-соединение равна 256000 бит/с. Передача файла через данное соединение заняла 3 мин. Определите размер файла в килобайтах. Решение. Размер файла можно вычислить, если умножить скорость передачи информации на время передачи. Выразим время в секундах: 3 мин = 3 ⋅ 60 = 180 с. Выразим скорость в килобайтах в секунду: 256000 бит/с = 256000 : 8 : 1024 Кбайт/с. При вычислении размера файла для упрощения расчетов выделим степени двойки: Размер файла = (256000 : 8 : 1024) ⋅ (3 ⋅ 60) = (2 8 ⋅ 10 3 : 2 3 : 2 10 ) ⋅ (3 ⋅ 15 ⋅ 2 2 ) = (2 8 ⋅ 125 ⋅ 2 3 : 2 3 : 2 10 ) ⋅ (3 ⋅ 15 ⋅ 2 2 ) = 125 ⋅ 45 = 5625 Кбайт. Представление числовой информации. Сложение и умножение в разных системах счисленияПредставление числовой информации с помощью систем счисления Для представления информации в компьютере используется двоичный код, алфавит которого состоит из двух цифр — 0 и 1. Каждая цифра машинного двоичного кода несет количество информации, равное одному биту. Система счисления — это система записи чисел с помощью определенного набора цифр. Система счисления называется позиционной, если одна и та же цифра имеет различное значение, которое определяется ее местом в числе. Позиционной является десятичная система счисления. Например, в числе 999 цифра «9» в зависимости от позиции означает 9, 90, 900. Римская система счисления является непозиционной. Например, значение цифры Х в числе ХХІ остается неизменным при вариации ее положения в числе. Позиция цифры в числе называется разрядом. Разряд числа возрастает справа налево, от младших разрядов к старшим. Количество различных цифр, употребляемых в позиционной системе счисления, называется ее основанием. Развернутая форма числа — это запись, которая представляет собой сумму произведений цифр числа на значение позиций. Развернутая форма записи чисел произвольной системы счисления имеет вид $a$ — цифры численной записи, соответствующие разрядам; $m$ — количество разрядов числа дробной части; $n$ — количество разрядов числа целой части; $q$ — основание системы счисления. Если основание используемой системы счисления больше десяти, то для цифр вводят условное обозначение со скобкой вверху или буквенное обозначение: В — двоичная система, О — восмеричная, Н — шестнадцатиричная. Например, если в двенадцатеричной системе счисления 10 = А, а 11 = В, то число 7А,5В12 можно расписать так: В шестнадцатеричной системе счисления 16 цифр, обозначаемых 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, что соответствует следующим числам десятеричной системы счисления: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15. Примеры чисел: 17D,ECH; F12AH. Перевод чисел в позиционных системах счисления Перевод чисел из произвольной системы счисления в десятичную Для перевода числа из любой позиционной системы счисления в десятичную необходимо использовать развернутую форму числа, заменяя, если это необходимо, буквенные обозначения соответствующими цифрами. Например: 11012 = 1 ⋅ 2 3 + 1 ⋅ 2 2 + 0 ⋅ 2 1 + 1 ⋅ 2 0 = 1310; 17D,ECH = 12 ⋅ 16 –2 + 14 ⋅ 16 –1 + 13 ⋅ 160 + 7 ⋅ 16 1 + 1 ⋅ 16 2 = 381,921875. Перевод чисел из десятичной системы счисления в заданную Для преобразования целого числа десятичной системы счисления в число любой другой системы счисления последовательно выполняют деление нацело на основание системы счисления, пока не получат нуль. Числа, которые возникают как остаток от деления на основание системы, представляют собой последовательную запись разрядов числа в выбранной системе счисления от младшего разряда к старшему. Поэтому для записи самого числа остатки от деления записывают в обратном порядке. Например, переведем десятичное число 475 в двоичную систему счисления. Для этого будем последовательно выполнять деление нацело на основание новой системы счисления, т. е. на 2: Читая остатки от деления снизу вверх, получим 111011011. 1 ⋅ 2 8 + 1 ⋅ 2 7 + 1 ⋅ 2 6 + 0 ⋅ 2 5 + 1 ⋅ 2 4 + 1 ⋅ 2 3 + 0 ⋅ 2 2 + 1 ⋅ 2 1 + 1 ⋅ 2 0 = 1 + 2 + 8 + 16 + 64 + 128 + 256 = 47510. Для преобразования десятичных дробей в число любой системы счисления последовательно выполняют умножение на основание системы счисления, пока дробная часть произведения не будет равна нулю. Полученные целые части являются разрядами числа в новой системе, и их необходимо представлять цифрами этой новой системы счисления. Целые части в дальнейшем отбрасываются. Например, переведем десятичную дробь 0,37510 в двоичную систему счисления: Полученный результат — 0,0112. Не каждое число может быть точно выражено в новой системе счисления, поэтому иногда вычисляют только требуемое количество разрядов дробной части. Перевод чисел из двоичной системы счисления в восьмеричную и шестнадцатеричную и обратно Для записи восьмеричных чисел используются восемь цифр, т. е. в каждом разряде числа возможны 8 вариантов записи. Каждый разряд восьмеричного числа содержит 3 бита информации (8 = 2 І ; І = 3). Таким образом, чтобы из восьмеричной системы счисления перевести число в двоичный код, необходимо каждую цифру этого числа представить триадой двоичных символов. Лишние нули в старших разрядах отбрасываются. 1234,7778 = 001 010 011 100,111 111 1112 = 1 010 011 100,111 111 1112; 12345678 = 001 010 011 100 101 110 1112 = 1 010 011 100 101 110 1112. При переводе двоичного числа в восьмеричную систему счисления нужно каждую триаду двоичных цифр заменить восьмеричной цифрой. При этом, если необходимо, число выравнивается путем дописывания нулей перед целой частью или после дробной. Для записи шестнадцатеричных чисел используются шестнадцать цифр, т. е. для каждого разряда числа возможны 16 вариантов записи. Каждый разряд шестнадцатеричного числа содержит 4 бита информации (16 = 2 І ; І = 4). Таким образом, для перевода двоичного числа в шестнадцатеричное его нужно разбить на группы по четыре цифры и преобразовать каждую группу в шестнадцатеричную цифру. Для перевода шестнадцатеричного числа в двоичный код необходимо каждую цифру этого числа представить четверкой двоичных цифр. 1234,AB7716 = 0001 0010 0011 0100,1010 1011 0111 01112 = 1 0010 0011 0100,1010 1011 0111 01112; CE456716 = 1100 1110 0100 0101 0110 01112. При переводе числа из одной произвольной системы счисления в другую нужно выполнить промежуточное преобразование в десятичное число. При переходе из восьмеричного счисления в шестнадцатеричное и обратно используется вспомогательный двоичный код числа. Например, переведем троичное число 2113 в семеричную систему счисления. Для этого сначала преобразуем число 2113 в десятичное, записав его развернутую форму: 2113 = 2 ⋅ 3 2 + 1 ⋅ 3 1 + 1 ⋅ 3 0 = 18 + 3 + 1 = 2210. Затем переведем десятичное число 2210 в семеричную систему счисления делением нацело на основание новой системы счисления, т. е. на 7: Примеры решения задач Пример 1. В системе счисления с некоторым основанием число 12 записывается в виде 110. Указать это основание. Пример 2. Указать через запятую в порядке возрастания все основания систем счисления, в которых запись числа 22 оканчивается на 4. Пример 3. Указать через запятую в порядке возрастания все числа, не превосходящие 25, запись которых в двоичной системе счисления оканчивается на 101. Ответ записать в десятичной системе счисления. a1 = 0; x = 5 + 0 · 8 = 5;. a1=1; x = 5 + 1 · 8 = 13;. a1 = 2; x = 5 + 2 · 8 = 21;. Арифметические операции в позиционных системах счисления Правила выполнения арифметических действий над двоичными числами задаются таблицами сложения, вычитания и умножения.
Правило выполнения операции сложения одинаково для всех систем счисления: если сумма складываемых цифр больше или равна основанию системы счисления, то единица переносится в следующий слева разряд. При вычитании, если необходимо, делают заем. Пример выполнения сложения: сложим двоичные числа 111 и 101, 10101 и 1111: Пример выполнения вычитания: вычтем двоичные числа 10001 – 101 и 11011 – 1101: Пример выполнения умножения: умножим двоичные числа 110 и 11, 111 и 101: Аналогично выполняются арифметические действия в восьмеричной, шестнадцатеричной и других системах счисления. При этом необходимо учитывать, что величина переноса в следующий разряд при сложении и заем из старшего разряда при вычитании определяется величиной основания системы счисления. Например, выполним сложение восьмеричных чисел 368 и 158, а также вычитание шестнадцатеричных чисел 9С16 и 6716: При выполнении арифметических операций над числами, представленными в разных системах счисления, нужно предварительно перевести их в одну и ту же систему. Представление чисел в компьютере Формат с фиксированной запятой В памяти компьютера целые числа хранятся в формате с фиксированной запятой: каждому разряду ячейки памяти соответствует один и тот же разряд числа, «запятая» находится вне разрядной сетки. Для хранения целых неотрицательных чисел отводится 8 битов памяти. Минимальное число соответствует восьми нулям, хранящимся в восьми битах ячейки памяти, и равно 0. Максимальное число соответствует восьми единицам и равно 1 ⋅ 2 7 + 1 ⋅ 2 6 + 1 ⋅ 2 5 + 1 ⋅ 2 4 + 1 ⋅ 2 3 + 1 ⋅ 2 2 + 1 ⋅ 2 1 + 1 ⋅ 2 0 = 25510. Таким образом, диапазон изменения целых неотрицательных чисел — от 0 до 255. Для п-разрядного представления диапазон будет составлять от 0 до 2 n – 1. Для хранения целых чисел со знаком отводится 2 байта памяти (16 битов). Старший разряд отводится под знак числа: если число положительное, то в знаковый разряд записывается 0, если число отрицательное — 1. Такое представление чисел в компьютере называется прямым кодом. Для представления отрицательных чисел используется дополнительный код. Он позволяет заменить арифметическую операцию вычитания операцией сложения, что существенно упрощает работу процессора и увеличивает его быстродействие. Дополнительный код отрицательного числа А, хранящегося в п ячейках, равен 2 n − |А|. Алгоритм получения дополнительного кода отрицательного числа: 1. Записать прямой код числа в п двоичных разрядах. 2. Получить обратный код числа. (Обратный код образуется из прямого кода заменой нулей единицами, а единиц — нулями, кроме цифр знакового разряда. Для положительных чисел обратный код совпадает с прямым. Используется как промежуточное звено для получения дополнительного кода.) 3. Прибавить единицу к полученному обратному коду. Например, получим дополнительный код числа –201410 для шестнадцатиразрядного представления:
При алгебраическом сложении двоичных чисел с использованием дополнительного кода положительные слагаемые представляют в прямом коде, а отрицательные — в дополнительном коде. Затем суммируют эти коды, включая знаковые разряды, которые при этом рассматриваются как старшие разряды. При переносе из знакового разряда единицу переноса отбрасывают. В результате получают алгебраическую сумму в прямом коде, если эта сумма положительная, и в дополнительном — если сумма отрицательная. 1) Найдем разность 1310 – 1210 для восьмибитного представления. Представим заданные числа в двоичной системе счисления: Запишем прямой, обратный и дополнительный коды для числа –1210 и прямой код для числа 1310 в восьми битах:
Вычитание заменим сложением (для удобства контроля за знаковым разрядом условно отделим его знаком «_»): Так как произошел перенос из знакового разряда, первую единицу отбрасываем, и в результате получаем 00000001. 2) Найдем разность 810 – 1310 для восьмибитного представления. Запишем прямой, обратный и дополнительный коды для числа –1310 и прямой код для числа 810 в восьми битах:
Вычитание заменим сложением: В знаковом разряде стоит единица, а значит, результат получен в дополнительном коде. Перейдем от дополнительного кода к обратному, вычтя единицу: 11111011 – 00000001 = 11111010. Перейдем от обратного кода к прямому, инвертируя все цифры, за исключением знакового (старшего) разряда: 10000101. Это десятичное число –510. Определим диапазон чисел, которые могут храниться в оперативной памяти в формате длинных целых чисел со знаком (для хранения таких чисел отводится 32 бита памяти). Минимальное отрицательное число равно А = –2 31 = –214748364810. Максимальное положительное число равно А = 2 31 – 1 = 214748364710. Достоинствами формата с фиксированной запятой являются простота и наглядность представления чисел, простота алгоритмов реализации арифметических операций. Недостатком является небольшой диапазон представимых чисел, недостаточный для решения большинства прикладных задач. Формат с плавающей запятой Вещественные числа хранятся и обрабатываются в компьютере в формате с плавающей запятой, использующем экспоненциальную форму записи чисел. Число в экспоненциальном формате представляется в таком виде: $q$ — основание системы счисления; Например, десятичное число 2674,381 в экспоненциальной форме запишется так: Число в формате с плавающей запятой может занимать в памяти 4 байта (обычная точность) или 8 байтов (двойная точность). При записи числа выделяются разряды для хранения знака мантиссы, знака порядка, порядка и мантиссы. Две последние величины определяют диапазон изменения чисел и их точность. Определим диапазон (порядок) и точность (мантиссу) для формата чисел обычной точности, т. е. четырехбайтных. Из 32 битов 8 выделяется для хранения порядка и его знака и 24 — для хранения мантиссы и ее знака. Найдем максимальное значение порядка числа. Из 8 разрядов старший разряд используется для хранения знака порядка, остальные 7 — для записи величины порядка. Значит, максимальное значение равно 11111112 = 12710. Так как числа представляются в двоичной системе счисления, то Аналогично, максимальное значение мантиссы равно Кодирование текстовой информации. Кодировка ASCII. Основные используемые кодировки кириллицыСоответствие между набором символов и набором числовых значений называется кодировкой символа. При вводе в компьютер текстовой информации происходит ее двоичное кодирование. Код символа хранится в оперативной памяти компьютера. В процессе вывода символа на экран производится обратная операция — декодирование, т. е. преобразование кода символа в его изображение. Присвоенный каждому символу конкретный числовой код фиксируется в кодовых таблицах. Одному и тому же символу в разных кодовых таблицах могут соответствовать разные числовые коды. Необходимые перекодировки текста обычно выполняют специальные программы-конверторы, встроенные в большинство приложений. Как правило, для хранения кода символа используется один байт (восемь битов), поэтому коды символов могут принимать значение от 0 до 255. Такие кодировки называют однобайтными. Они позволяют использовать 256 символов ( N = 2 I = 2 8 = 256 ). Таблица однобайтных кодов символов называется ASCII (American Standard Code for Information Interchange — Американский стандартный код для обмена информацией). Первая часть таблицы ASCII-кодов (от 0 до 127) одинакова для всех IBM-PC совместимых компьютеров и содержит: Вторая часть таблицы (коды от 128 до 255) бывает различной в различных компьютерах. Она содержит коды букв национального алфавита, коды некоторых математических символов, коды символов псевдографики. Для русских букв в настоящее время используется пять различных кодовых таблиц: КОИ-8, СР1251, СР866, Мас, ISO. В последнее время широкое распространение получил новый международный стандарт Unicode. В нем отводится по два байта (16 битов) для кодирования каждого символа, поэтому с его помощью можно закодировать 65536 различных символов ( N = 2 16 = 65536 ). Коды символов могут принимать значение от 0 до 65535. Примеры решения задач Пример. С помощью кодировки Unicode закодирована следующая фраза: Я хочу поступить в университет! Оценить информационный объем этой фразы. Решение. В данной фразе содержится 31 символ (включая пробелы и знак препинания). Поскольку в кодировке Unicode каждому символу отводится 2 байта памяти, для всей фразы понадобится 31 ⋅ 2 = 62 байта или 31 ⋅ 2 ⋅ 8 = 496 битов.
|