Выбрать главу

Шестнадцатеричное число принято обозначать так: 9F216 (с нижним индексом 16). Напомним соответствующие двоичные коды:

9F216 = 1001111100102 (здесь нижний индекс 2 указывает, что число выражено в двоичной системе).

Давайте теперь осуществим обратный процесс: число 11101001102 состоит из десяти цифр. Мы дополняем его двумя нулями слева, чтобы получить 12 цифр, которые можно сгруппировать по четыре.

Преобразуем:

11101001102 = 0011 1010 0Н02 = 3А616.

Какая связь между шестнадцатеричными символами и ASCII-кодами? Каждый ASCII-код содержит восемь битов (один байт) информации, поэтому пять ASCII-символов содержат 40 битов (пять байтов), и так как шестнадцатеричный символ содержит четыре бита, мы заключаем, что пять ASCII-символов — это десять шестнадцатеричных символов.

Рассмотрим пример кодирования фразы в шестнадцатеричном коде. Например, возьмем название NotRealCo Ltd. Выполним следующие действия. 1 2 31. Переведем NotRealCo Ltd в двоичные коды в соответствии с таблицей ASCII.

2. Сгруппируем цифры по четыре. (Если длина двоичной строки не кратна четырем, мы добавим нули слева.)

3. Выполним замену по таблице соответствий двоичных и шестнадцатеричных символов.

Фраза NotRealCo Ltd в шестнадцатеричных символах выглядит так:

4Е 6F 74 72 65 61 6С 63 6F 20 48 74 64.

Системы счисления и переход к другому основанию

Если система счисления имеет n цифр, то число n называется основанием системы.

На руках человека десять пальцев, поэтому, вероятно, и была придумана десятичная система счисления — счет проводился на пальцах. Десятичное число, например, 7392, представляет собой количество, равное семи тысячам трем сотням девяти десяткам и двум единицам. Тысячи, сотни, десятки и единицы являются степенями основания системы счисления, в данном случае 10. Число 7392, таким образом, может быть выражено следующим образом:

7392 = 7∙103 + 3∙102 + 9∙10 + 2∙100.

Однако по соглашению принято писать только коэффициенты (в нашем примере это 7, 3, 9 и 2). Кроме десятичной системы существует много других систем счисления (на самом деле их общее число бесконечно). В этой главе мы уделили особое внимание двум из них: двоичной системе с основанием 2 и шестнадцатеричной с основанием 16. В двоичной системе счисления коэффициенты имеют только два возможных значения: 0 и 1. Разряды двоичных чисел представляют собой степени двойки. Таким образом, число 110112 может быть записано как

110112 = 1∙24 + 1∙23 + 0∙22 + 1∙21 + 1∙20.

Если мы вычислим выражение, стоящее справа от знака равенства, мы получим 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 выглядит в двоичной системе как 10011002. Этот результат можно проверить по таблице ASCII (в таблице слева приписан дополнительный 0, чтобы получить строки из четырех цифр). Выражение числа, записанного в одной системе счисления, в другой системе называется переходом к другому основанию.

Коды для обнаружения ошибок передачи

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

Первый шаг в этой теории является настолько очевидным, что его легко упустить из вида: как измерить информацию.