Символьный подход к измерению информации
Рассмотрим алфавитный подход к измерению информации. Обычно информация хранится, передается, обрабатывается в символьной (знаковой) форме. Такой подход позволяет определить количество информации в тексте и является объективным, т.е. не зависит от субъекта (человека), воспринимающего текст.
Одна и та же информация может быть представлена в разной форме, с помощью различных знаковых систем. Язык – это определенная знаковая система представления информации. Существуют естественные (разговорные) языки и формальные языки (нотная грамота, язык математики, язык мимики и жестов, дорожные знаки и т.д.).
Конечный упорядоченный набор знаков, используемых для передачи информации, называется алфавитом. Последовательность символов алфавита - словом. Сообщение, как правило, представляет собой последовательность слов. Довольно часто передаваемая информация кодируется. Кодирование информации – переход от одной формы представления информации к другой, более удобной для хранения, обработки или передачи.
Способ кодирования зависит от цели, ради которой оно осуществляется: сокращение записи, засекречивание (шифровка) информации, удобство обработки и т.д.
Правило отображения одного алфавита на другой называется кодом, а сама процедура - перекодировкой сообщения. Например, при передаче сообщения по телеграфному каналу используется азбука Морзе. При этом каждой букве алфавита ставится в соответствие определённая последовательность точек и тире (А ® · - ; Я ® · - · - и т.д.).
В технических устройствах хранения, передачи и обработки информации для её кодирования часто используют алфавиты, содержащие лишь два различных символа. Например, “плюс”, ”минус” (+, -) или 1 и 0. Наличие всего двух символов значительно упрощает электрические схемы с электронными переключателями, которые принимают только два состояния - они либо проводят ток, либо нет. Алфавит из двух символов 1 и 0 называют двоичным и говорят о двоичном представлении информации (кодировании информации в двоичном коде). При таком представлении буквы, цифры и любые другие символы изображаются двоичными словами - последовательностями из нулей и единиц.
Как известно, в качестве единицы измерения количества информации принят 1 бит (англ. bit — binary, digit — двоичная цифра). Бит — один символ двоичного алфавита: 0 или 1. Наряду с битом получила распространение укрупнённая единица - байт, равный 8 битам. Из битов складывается все многообразие данных, которые обрабатывает компьютер. Комбинируя восемь нулей и единиц различными способами, можно получить 256 различных комбинаций. Этого количества достаточно, чтобы каждому символу поставить в соответствие свою неповторимую комбинацию из восьми нулей и единиц. Эти комбинации определяются кодовой таблицей ASCII (American Standart Code for Information Interchange - американский стандартный код для обмена информацией).
Одним байтом кодируется любой печатный знак (буква, цифра, любой другой символ). Например, число 7 выражается байтом 00000111; буква L 01001100; знак "плюс" имеет двоичный код 00101011. Байт — один символ, который представляет комбинацию из 8 бит.
Порядковый номер символа в таблице ASCII называют десятичным кодом этого символа. Чтобы его определить
ASCII | |||||||||
@ | P | ` | p | А | Р | А | |||
! | A | Q | A | q | Б | С | Б | ||
“ | B | R | B | r | В | Т | В | ||
# | C | S | C | s | Г | У | Г | ||
$ | D | T | D | t | Д | Ф | Д | ||
% | E | U | E | u | Е | Х | Е | ||
& | F | V | F | v | Ж | Ц | Ж | ||
‘ | G | W | G | w | З | Ч | З | ||
( | H | X | H | x | И | Ш | И | ||
) | I | Y | I | y | К | Щ | Й | ||
* | : | J | Z | J | z | Л | Ъ | К | |
+ | ; | K | [ | K | { | М | Ы | Л | |
, | < | L | \ | L | | | Н | Ь | М | |
- | = | M | ] | M | } | О | Э | Н | |
. | > | N | ^ | N | ~ | П | Ю | О | |
/ | ? | O | _ | O | Р | Я | П |
необходимо сложить номер строки с номером столбца, которые соответствуют выбранному символу. Например, десятичный код цифры 7 равен 55 (7+48), а символа % - 37 (5+32). Таким образом, каждый символ имеет десятичный и двоичный код. Первые 32 символа являются управляющими и предназначены, в основном, для передачи различных команд.
В кодовой таблице ASCII первые 128 символов (с номерами от 0 до 127) являются стандартными: буквы латинского алфавита, цифры, знаки препинания и другие (специальные) символы. Остальные (128 кодов) используются для кодировки букв национальных алфавитов.
Буквы располагаются в алфавитном порядке, а цифры по возрастанию значений. Например, буква i имеет десятичный код 105. Что зашифровано последовательностью десятичных кодов: 108 105 110 107 ?
Для расшифровки не нужно обращаться к таблице, вспомним лишь порядок букв латинского алфавита: …i j k l m n o …(соответственно, коды этих букв будут от 105 до 111). Поэтому это будет слово "link".
Заметим, что между десятичным кодом строчной буквы латинского алфавита и соответствующей кодом заглавной буквы разница равна 32. Если букве "c" соответствует десятичный код 99, то код буквы "C" будет 67=99-32.
К сожалению, в настоящее время существуют несколько различных кодировок кириллицы (КОИ8-Р, Windows, MS-DOS, Macintosh), что вызывает дополнительные трудности при работе с русскоязычными документами. Хронологически одним из первых стандартов кодирования русских букв на компьютерах был КОИ8 ("Код обмена информацией, 8-битный"). Эта кодировка применялась еще в 70-ые годы на компьютерах серии ЕС ЭВМ, а с середины 80-х стала использоваться в первых русифицированных версиях операционной системы UNIX. Наиболее распространенной в настоящее время является кодировка Microsoft Windows, обозначаемая сокращением CP1251 ("CP" означает "Code Page", "кодовая страница").
От начала 90-ых годов, времени господства операционной системы MS DOS, остается кодировка CP866. В конце 90-ых годов появился новый международный стандарт Unicode, который отводит под один символ не один байт, а два, и поэтому с его помощью можно закодировать не 256, а 65536 различных символов. Полная спецификация стандарта Unicode включает в себя все существующие, вымершие и искусственно созданные алфавиты мира, а также множество математических, музыкальных, химических и прочих символов.
Если алфавит состоит из двух символов (1 и 0), то вероятности их появления равны 0,5 и количество информации одного такого символа будет H=log22=1 бит.
Т.о. количество информации (в битах), заключенное в двоичном слове, равно числу двоичных знаков в нем.
В битах формально можно измерить любую информацию, которая содержится, например, на экране монитора или на странице книги. Естественно, что при этом совершенно не учитываются смысловое содержание информации. Например, в слове "информатика" 11 букв, а значит 11 байт.
Широко используются более крупные единицы информации:
- 1 Килобайт (Кбайт) = 1024 байт = 210 байт,
- 1 Мегабайт (Мбайт) = 1024 Кбайт = 220 байт,
- 1 Гигабайт (Гбайт) = 1024 Мбайт = 230 байт.
- 1 Терабайт (Тбайт) = 1024 Гбайт = 240 байт
Одна дискета может хранить 1,5 Мбайта, CD диск имеет ёмкость около 700 Мбайт.
При двоичном кодировании для характеристики скорости передачи информации используется единица скорости телеграфирования 1бод = 1бит/c. Названа в честь французского изобретателя кодировки символов для телетайпов Эмиля Бодо. Используются более крупные единицы:
§ Килобит в секунду, кбит/с — единица измерения скорости передачи информации, равная 1000 бит в секунду.
§ Мегабит в секунду, 1 Мбит/с = 106 = 1000000 (миллион) бит информации, переданные от источника к получателю за одну секунду.
3. Некоторые сведения о системах счисления.
Все данные и программы, хранящиеся в памяти компьютера, имеют вид двоичного кода. Мы уже знаем, что для представления текстовой (символьной) информации используется алфавит из 256 символов. Один символ из такого алфавита несет 8 бит информации, а значит двоичный код каждого символа в компьютерном тексте занимает 1 байт памяти. Числовая информация в памяти компьютера также представляется в двоичном виде.
Язык чисел, как и обычный язык, имеет свой алфавит. Способ записи чисел с помощью заданного набора специальных знаков (цифр) называется системой счисления.
Существуют позиционные и непозиционные системы счисления.
В непозиционных системах вес цифры (т.е. тот вклад, который она вносит в значение числа) не зависит от ее позиции в записи числа. Так, в римской системе счисления в числе ХХХII (тридцать два) вес цифры Х в любой позиции равен просто десяти.
В позиционных системах счисления вес каждой цифры изменяется в зависимости от ее положения (позиции) в последовательности цифр, изображающих число. Например, в числе 757,7 первая семерка означает 7 сотен, вторая – 7 единиц, а третья – 7 десятых долей единицы. Сама же запись числа 757,7 означает сокращенную запись выражения
700 + 50 + 7 + 0,7 = 7×102 + 5×101 + 7×100 + 7×10-1 = 757,7.
Любая позиционная система счисления характеризуется своим основанием. Основание позиционной системы счисления — это количество различных знаков или символов, используемых для изображения цифр в данной системе. Вот несколько примеров позиционных систем и их алфавитов:
Основание | Название | Алфавит |
Двоичная | 0 1 | |
Троичная | 0 1 2 | |
Восьмеричная | 0 1 2 3 4 5 6 7 | |
Шестнадцатеричная | 0 1 2 3 4 5 6 7 8 9 A B C D E F |
Если n – основание системы не большее десяти, то в алфавите используются n первых арабских цифр. Если основание превышает 10, то в качестве дополнительных цифр выступают буквы латинского алфавита по порядку.
Общепринятой в современном мире является десятичная позиционная система исчисления, которая из Индии через арабские страны пришла в Европу. Основанием системы является число десять. Практически на всем земном шаре пользуются числовым языком, алфавит которого состоит из десяти арабских цифр от 0 до 9.
За основание системы можно принять любое натуральное число — два, три, четыре и т.д. Следовательно, возможно бесчисленное множество позиционных систем: двоичная, троичная, четверичная и т.д. Запись чисел в каждой из систем счисления с основанием q означает сокращенную запись выражения
an-1 qn-1 + an-2 qn-2+ ... + a1 q1 + a0 q0 + a-1 q-1 + ... + a-m q-m,
где ai – цифры системы счисления; n и m – число целых и дробных разрядов, соответственно. Пусть число 102 записано в троичной системе счисления.
Тогда (102)3 =1×32+0×31+2×30. Выполнив действия, получим значение троичного числа в десятичной системе счисления. Т.е. (102)3 = (11)10.
В компьютере информация представляется в двоичном виде (в битовой форме). Для перевода десятичного числа в двоичную систему счисления необходимо представить его в виде суммы степеней числа 2. Например,
(76)10 = 64 + 8 + 4 = 26 + 23 + 22 = (1001100)2.
Можно воспользоваться последовательным делением на 2 с выделением остатка. Например, переведем число 58 в троичную систему счисления. После знака равенства записывается целая часть частного, а в скобках указывается остаток.
58 : 3 = 19 (1)
19 : 3 = 6 (1)
6 : 3 = 2 (0)
2 : 3 = 0 (2)
Окончательный результат такой: 58=20113.
(201,25)=27+26+23+20+2-2=(11001001,01)2
Для перевода дроби в двоичную систему счисления преобразуют отдельно ее целую и дробную части. Причем дробная часть должна представляться суммой
a×2-1 + b×2-2 + c×2-3 + ...
где a,b,c,... неизвестные коэффициенты, принимающие значения либо 0, либо 1, которые и надо найти. Применяют алгоритм умножения на 2. Например, для перевода 0,375 в двоичную систему счисления, имеем:
2×0,375 = 0,75 (целая часть равна 0)
2×0,75 = 1,5 (целая часть равна 1)
2×0,5 = 1,0 (целая часть равна 1)
Этот процесс продолжается до тех пор, пока дробная часть не окажется равной нулю. Тогда имеем (0,375)10= (0,011)2. Проверьте, что (0,625)10 = 0,1012
Заметим, что этот процесс может оказаться и бесконечным. Например, число 0,1 при переводе в двоичную систему счисления примет вид (0,1)10= (0,00011001100...)2. Переведем число 0,123 в пятеричную систему счисления.
0,123·5=0,615 0,615·5=3,075 0,075·5=0,375 0,375·5=1,875 0,875·5=4,375 |
Далее пойдет повторение двух последних цифр. Результат получился таким:
0,123=0,030(14)5.
В компьютерах используют двоичную систему потому, что она имеет ряд преимуществ перед другими системами:
§ для ее реализации нужны технические устройства с двумя устойчивыми состояниями (есть ток — нет тока), а не с десятью, — как в десятичной;
§ представление информации посредством только двух состояний надежно и помехоустойчиво;
§ двоичная арифметика намного проще десятичной.
Недостаток двоичной системы — быстрый рост числа разрядов, необходимых для записи чисел.
Рассмотрим пример смешанной системы счисления - двоично-десятичной системы счисления.
В ней десятичное число записывается путем замены каждой цифры на 4-разрядный двоичный код. Таблица соответствия для двоично-десятичной системы следующая:
DEC | ||||||||||
BIN |
В этой таблице каждой десятичной цифре поставлено в соответствие равное ей четырехзначное двоичное число (нули слева – незначащие). Например, десятичное число 58236,37 в двоично-десятичной форме запишется так: 101 10001 0010 0011 0101,0011 01112-10 . Первый слева ноль у целого числа является незначащей цифрой, поэтому его можно не писать.
Для обратного преобразования из двоично-десятичной формы в десятичное число нужно разбить на четверки все знаки двоичного кода: от запятой влево – в целой части и вправо – в дробной части. Затем каждую четверку двоичных цифр заменить на соответствующую десятичную цифру. Например:
11 1000 0010 1001 0011,0101 1001 1000 2-10 → 3823,598
Отметим важное обстоятельство: между данными десятичным и двоично-десятичным числом нельзя поставить знак равенства. Двоично-десятичное представление – это всего лишь двоичный код для представления десятичного числа, но никак не равное ему значение в двоичной системе счисления. Выполнение арифметических вычислений над десятичными числами, представленными в двоично-десятичной форме, весьма затруднительны. Тем не менее, в истории ЭВМ известны такие примеры. В первой ЭВМ под названием ENIAC использовалась двоично-десятичная система.
Современные компьютеры производят вычисления в двоичной системе счисления. Однако для представления компьютерной информации нередко используются двоично-восьмеричная и двоично-шестнадцатеричная системы.
Двоично-восьмеричная система.В следующей таблице представлено соответствие между восьмеричными цифрами (OCT) и трехзначными двоичными (BIN) числами (двоичными триадами), равными по значению этим цифрам.
OCT | ||||||||
BIN |
Записать восьмеричное число в двоично-восьмеричном виде – это значит заменить каждую восьмеричную цифру на соответствующую двоичную триаду. Например: 3517,28→11 101 001 111,010 2-8.
А теперь переведем данное восьмеричное число в двоичную систему счисления. Для этого сначала его переведем в десятичную систему, а потом из десятичной в двоичную систему счисления. Вот что получается:
3517,2 8 = 1871,25=11101001111,01 2
Но это тот же самый двоичный код, что записан выше в двоично-восьмеричной системе! Мы пришли к следующему результату: двоично-восьмеричное число равно значению данного восьмеричного числа в двоичной системе счисления.
Отсюда следует, что перевод чисел из восьмеричной системы счисления в двоичную производится перекодировкой по двоично-восьмеричной таблице путем замены каждой восьмеричной цифры на соответствующую двоичную триаду. А для перевода числа из двоичной системы в восьмеричную его цифры надо разбить на триады (начиная от запятой) и заменить каждую триаду на соответствующую восьмеричную цифру.
Двоично-шестнадцатеричная система счисления. В следующей таблице представлено соответствие между шестнадцатеричными (HEX) цифрами и четырехзначными двоичными числами (двоичными тетрадами), равными по значению этим цифрам.
DEC | ... | ||||||||||
HEX | ... | A | B | C | D | E | F | ||||
BIN | ... |
Записать шестнадцатеричное число в двоично-шестнадцатеричном виде – это значит заменить каждую шестнадцатеричную цифру на соответствующую двоичную тетраду. Например: С81F,1D16 → 1100 1000 0001 1111,0001 11012-16
Переведем данное шестнадцатеричное число сначала в десятичную систему счисления, а затем в двоичную систему. Получим:
С81F,1D16 = 51231,875 = 1100 1000 0001 1111,0001 11012
Получился тот же самый двоичный код, что записан выше в двоично-шестнадцатеричной системе! Рассмотренный пример привел к следующему результату: двоично-шестнадцатеричное число равно значению данного шестнадцатеричного числа в двоичной системе счисления.
Следовательно, для перевода числа из шестнадцатеричной системы счисления в двоичную достаточно выполнить перекодировку по двоично-шестнадцатеричной таблице путем замены каждой шестнадцатеричной цифры на соответствующую двоичную тетраду. А для перевода числа из двоичной системы в шестнадцатеричную его цифры надо разбить на тетрады (начиная от запятой) и заменить каждую тетраду на соответствующую шестнадцатеричную цифру.
Восьмеричную и шестнадцатеричную системы счисления используют для компактного представления содержимого памяти компьютера, а также ее адресации. Восьмеричное представление сжимает двоичный код в три раза, а шестнадцатеричное представление – в четыре раза.
Задача. Перевести число 1369,75 в двоичную, восьмеричную и шестнадцатеричную системы счисления.
Наиболее рациональный способ решения задачи следующий. Нужно перевести это число в одну из трех систем с основанием 2, 8 или 16, а затем, используя связь между ними через смешанное представление, выполнить перевод в две другие системы путем перекодировки по таблицам 2-8 и 2-16.
1) Переведем число в восьмеричную систему путем последовательного деления на 8 целой части и последовательного умножения на 8 дробной части числа. Получим:
1369,75=2531,68
2) Путем перекодировки по двоично-восьмеричной таблице переведем это число в двоичную систему счисления:
2531,68=10 101 011 001,1102
3) Разделив цифры двоичного числа на тетрады (влево и вправо от запятой), переведем двоичное число в шестнадцатеричную систему, используя двоично-шестнадцатеричную таблицу:
0101 0101 1001,11002=559,С16
Все арифметические действия в компьютере выполняются в двоичной системе счисления. Законы двоичной арифметики очень просты:
Сложение | 0+0=0 | 1+0=1 | 0+1=1 | 1+1=10 |
Умножение | 0´0=0 | 1´0=0 | 0´1=0 | 1´1=1 |
Перенос в старший разряд единицы возникает, если результат сложения цифр одноименных разрядов больше 1.
Например,
+ | |||||||||
Цифрами сверху обозначены значения, переносимые при сложении в соседний слева разряд. Проверьте результаты действий: a) 11102 + 1012 = 100112 ;
б) 1012 ´ 112 = 11112.
Заметим, что хотя Вам не потребуется записывать числа в рассмотренных системах счисления, однако, в литературе используют такую форму представления, причём без специальных оговорок.
Дата добавления: 2015-11-18; просмотров: 1569;