Математики, шпионы и хакеры. Кодирование и криптография | страница 43
7392 = 7∙10>3 + 3∙10>2 + 9∙10>1 + 2∙10>0.
Однако по соглашению принято писать только коэффициенты (в нашем примере это 7, 3, 9 и 2). Кроме десятичной системы существует много других систем счисления (на самом деле их общее число бесконечно). В этой главе мы уделили особое внимание двум из них: двоичной системе с основанием 2 и шестнадцатеричной с основанием 16. В двоичной системе счисления коэффициенты имеют только два возможных значения: 0 и 1. Разряды двоичных чисел представляют собой степени двойки. Таким образом, число 110112 может быть записано как
11011>2 = 1∙2>4 + 1∙2>3 + 0∙2>2 + 1∙2>1 + 1∙2>0.
Если мы вычислим выражение, стоящее справа от знака равенства, мы получим 27, что является десятичной формой двоичного числа 11011. Для обратного перехода мы последовательно делим десятичное число на 2 (основание двоичной системы) и записываем остатки, пока не получим частное 0. Двоичное число будет иметь в качестве первой цифры последнее ненулевое частное, а следующими цифрами будут полученные остатки, начиная с последнего. Например, переведем десятичное число 76 в двоичный вид.
Разделим 76 на 2, получим частное 38 и остаток 0.
Разделим 38 на 2, получим частное 19 и остаток 0.
Разделим 19 на 2, получим частное 9 и остаток 1.
Разделим 9 на 2, получим частное 4 и остаток 1.
Разделим 4 на 2, получим частное 2 и остаток 0.
Разделим 2 на 2, получим частное 1 и остаток 0.
Разделим 1 на 2, получим частное 0 и остаток 1.
Остаток от деления записываем в обратном порядке. Таким образом, число 76 выглядит в двоичной системе как 1001100>2. Этот результат можно проверить по таблице ASCII (в таблице слева приписан дополнительный 0, чтобы получить строки из четырех цифр). Выражение числа, записанного в одной системе счисления, в другой системе называется переходом к другому основанию.
Описанные выше коды обеспечивают безопасную и эффективную связь между компьютерами, программами и пользователями. Но этот онлайновый язык основан на общей теории информации, которая лежит в основе процесса коммуникации.
Первый шаг в этой теории является настолько очевидным, что его легко упустить из вида: как измерить информацию.
Такая простая фраза, как «Приложение размером 2 КБ», основана на блестящих идеях, которые впервые появились в статье «Математическая теория связи», опубликованной в двух частях в 1948 г. американским инженером Клодом Шенноном.
В этой основополагающей статье Шеннон предложил использовать слово «бит» для обозначения наименьшей единицы информации. Общая проблема, которую Шеннон рассматривал в своей работе, знакома и современным читателям. Как лучше всего зашифровать сообщение, чтобы оно не повредилось во время передачи? Шеннон пришел к выводу, что невозможно найти шифр, который предотвратит потерю информации. Иными словами, при передаче информации неизбежно возникают ошибки. Однако этот вывод не помешал поиску стандартов кодификации, которые, не имея возможности исключить ошибки, могли бы по крайней мере обеспечить высокий уровень надежности.