Введение в цифровую графику

         

Десятичная система счисления



Десятичная система счисления

Наиболее привычной для нас является десятичная система счисления. Исторически вначале, видимо, использовалась непозиционная единичная система счета — с помощью камней или палочек (вспомним школьные палочки для счета!). Система счета состояла из двух чисел — один и два, а все, что больше двух, обозначалось, как "много".

Затем, благодаря наличию десяти пальцев рук у человека, возникла десятичная система счета. В этой системе используются специальные графические знаки — арабские цифры, которые можно записать в следующем порядке: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Таких знаков десять, и они специально разделены запятыми, чтобы показать, что это отдельные ("дискретные") знаки, которые не зависят друг от друга.



Другие системы счисления



Другие системы счисления

Идея позиционной системы счисления выдвигалась еще Архимедом в работе "Исчисление песка". Есть ли еще системы счисления, которые мы знаем и используем?

В разное время и у разных народов использовались системы счисления с различными основаниями:

в Древнем Вавилоне — шестидесятиричная система (используемая и сейчас при измерении времени);
в Германии и Великобритании — двенадцатеричная (при измерении количества, в денежных системах), у древних адыгов — двадцатеричная и т. д.;
неколичественные (качество выступает в роли количества: "много", "мало" и т. д.) способы счета — например, у эскимосов.

В качестве примера, который непрерывно присутствует перед глазами, можно назвать часовой циферблат, у которого двенадцать основных "делений", а следовательно, используется двенадцатеричная система счисления.

Можно даже считать дюжинами — до революции в России было принято заказывать по несколько "дюжин пива". Отсюда же имеет свое происхождение понятие "чертова дюжина", т. е. число тринадцать.

Кстати, следует заметить, что с измерением времени связано довольно большое количество разных систем счисления.

Кроме уже упомянутых, можно назвать семидневную (недельную), месячную, годовую, а еще, не забыть бы, — секундную и минутную, обе являются шестидесятиричными.

Мы вспомнили несколько систем счисления (и, видимо, далеко не исчерпали этот список), которые мы используем в нашей обычной бытовой жизни, не отдавая себе в этом особого отчета.

Правда, стоит сознаться, что примеры разных систем счисления приведены с единственной целью: показать, что система счисления — это обычная и даже обыденная вещь. Для дальнейшего изложения они нам больше не потребуются. Почему? Потому что в компьютерных технологиях нет ничего, кроме импульсов, а следовательно, для внутреннего машинного языка достаточно только двух знаков.

Положив в основание только два знака (два вида сигналов), попытаемся построить все сияющее здание компьютерных технологий.



Двоичная система счисления



Двоичная система счисления

Мы уже выяснили, что каждый импульс представляет собой один из двух видов уровней тока (условно их можно определить как "наличие" или "отсутствие" тока).



Двоичные коды десятичных чисел



Двоичные коды десятичных чисел

В данный момент самое время вспомнить, зачем мы начали конвертирование десятичных чисел в двоичную систему счисления. Это нам необходимо не для того, чтобы убедиться в универсальности законов арифметики (дизайнеры и так охотно поверят специалистам-математикам), на самом деле, мы составили коды десятичных чисел в двоичной системе счисления, а это уже совсем немало.

Ведь, собственно говоря, приведенные в предыдущем разделе рассуждения уже можно квалифицировать как процесс кодирования, т. е. написание (представление) одного вида информации с помощью другого.

Таким образом, мы получаем возможность передавать любое десятичное число двоичными числами, а следовательно, импульсным способом, т. е. определенным сочетанием импульсов (в этом состоит требование компьютерных технологий).

В табл. 4.3 отражены коды первых двадцати десятичных чисел, которые легко передавать как последовательность импульсов.

Какое неудобство двоичной системы счисления бросается сразу в глаза? Заметно, что двоичные числа гораздо длиннее десятичных. Это закон мироздания: экономя на количестве цифр, мы "расплачиваемся" количеством разрядов.

И для того чтобы двоичные числа было легче воспринимать и отображать, их сжимают в восьмеричную систему счисления, о которой также необходимо сказать несколько слов.



Эта глава необходима для знакомства



Глава 4.

Системы счисления

Эта глава необходима для знакомства с двоичной системой счисления (соответственно, восьмеричной и шестнадцатеричной как ее развитием), которая является источником большинства "магических" чисел как цифровой графики, так и компьютерных технологий в целом.

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

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

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

Системы счисления



Глава 4 Системы счисления Общее представление о коде Системы счисления Позиционный метод записи чисел Основание системы счисления Десятичная система счисления Другие системы счисления Двоичная система счисления Запись целых чисел в двоичной системе счисления Двоичные коды десятичных чисел Восьмеричная система счисления Шестнадцатеричная система счисления Основания и степени в системе счисления



Общее представление о коде



Общее представление о коде

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

Поэтому стоит сначала поговорить о понятии "код" в самом общем смысле.



Определение


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



Определение


Счисление (система счисления) — это способ представления любых чисел с помощью определенного количества знаков (цифр) по позиционному принципу.

В этом определении стоит выделить следующие важные моменты.

Количество знаков, которые обычно именуются "цифрами", всегда ограничено. И с помощью такого, ограниченного количества цифр (обычно мы используем десять цифр) удается записывать произвольные числа, например 23 456 или 1 000 123 456 789.
Чтобы преодолеть это ограничение, используется особый способ записи, который называется "позиционным".



Определение


Позиционная система счисления состоит в использовании ограниченного числа цифр, зато позиция каждой цифры в числе обеспечивает значимость (вес) этой цифры. Позиция цифры на математическом языке называется разрядом.

Другими словами, значение цифры "переменчиво" и зависит от ее позиции в числе. Мы говорим, что в числе "10" цифра "1" — это уже не "единица", а "десяток", хотя и отображается с помощью одного и того же знака. Например, в числе "одиннадцать" ("11") две единицы имеют разное значение, это относится и к другим сочетаниям "единиц" — "111", "1111", "11 111" и т. д.



Определение


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

Выбор количества цифр диктуется какими-либо потребностями реальной жизни, науки или удобствами обработки. Исторически этот выбор определялся привычками или традициями конкретного народа.



Основание системы счисления



Основание системы счисления

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

Оказывается, что минимальное количество цифр действительно существует, а максимальное — нет, точнее, оно ограничено не принципиальными причинами, а сугубо практическими (или какими-то условиями уже не математического свойства). В данный момент важно понять, что существует не одно множество цифр, образующих систему счисления. Это множество получило особое название — основание системы счисления.



Основания и степени в системе счисления



Основания и степени в системе счисления

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

Таблица 4.6. "Круглые" числа в нескольких системах счисления

Двоичная

Восьмеричная

Десятичная

Шестнадцатеричная

10 = 21

2

2

2

100 = 22

4

4

4

1010

12

10 = 101

А

1000 = 23

10 = 81

8

8

10000 = 24

20

16

10 = 161

1 00000 = 25

40

32

20

1000000 = 26

100 = 82

64

40

1100100

144

100 = 102

64

1 0000000 = 27

200

128

80

100000000 = 28

400

256

100 = 162

1000000000 = 29

1000 = 83

512

200

1111101000

1750

1000 = 103

ЗЕ8

1 0000000000 = 210

2000

1024

400

100000000000 = 211

4000

2048

800

1 00000000000 = 212

10000 = 84

4096

1000 = 163

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



Позиционный метод записи чисел



Позиционный метод записи чисел

Действительно, если мы располагаем только десятью знаками (цифрами), то мы сможем записать только десять чисел (от 0 до 9). Но на числе "девять" числовая ось не заканчивается, следовательно, можно двигаться дальше.

А именно: пишем "9 + 1 = ", но все цифры уже использованы, поэтому мы снова начинаем с первой цифры и пишем "0". Но сумма "9 + 1" никак не может быть равной нулю, т. е. "полному отсутствию", наоборот, мы достигли числа "десять", для которого существует специальное слово, но отсутствует специальный знак.

Поэтому, чтобы указать, что мы уже один раз прошли цикл с этой совокупностью цифр, перед нулем ("в предыдущей позиции") мы ставим цифру "1" и тем самым получаем требуемое число "10".

Вот это и называется позиционным методом записи чисел.



Пример-метафора


Звуки, составляющие слова "компьютер" на русском языке или "computer" на английском, никак не связаны с тем предметом, который они обозначают. Из тех же букв можно составить и другие слова, абсолютно ничего общего не имеющие с исходными словами.



Пример-метафора


Если бы пользователи компьютерных технологий могли превратиться в микроскопических существ и затаиться в компьютере на какой-нибудь шине, по которой передаются сигналы, то они бы увидели, что мгновенно проносятся совершенно одинаковые импульсы — как поезда метро: поезд — пустота, поезд — пустота...

Исходя из этого, с помощью импульсов можно передавать только два разных сигнала, для обозначения которых потребуется всего два разных знака (например, условимся обозначать наличие тока, скажем, "единицей", а отсутствие сигнала - "нулем", хотя на самом деле, наоборот). А затем, используя позиционный метод и определенные последовательности знаков, обеспечим возможность записи любых чисел.

Таким образом, мы подошли к рассмотрению системы счисления, основание которой равно двум. В этой системе счисления используются всего два знака, две цифры — "0" и "1".

Такая система получила название двоичной системы счисления. Ее еще называют бинарной, от английского слова "binary", что, собственно, и переводится как "двоичный".



к классическому произведению детективного жанра



Обратимся к классическому произведению детективного жанра "Семнадцать мгновений весны" Юлиана Семенова. Профессор Плейшнер погиб, невзирая на свой математический ум, именно потому, что нарушил правила кодирования и декодирования— помните тот злосчастный цветок, на который он не обратил внимания. Ведь сам по себе цветок по сути дела ничего не означает. Но в данном случае он являлся кодом очень важной (жизненно важной) информации. Этот код был известен разведчику Штирлицу, он передал соответствующие инструкции профессору Плейшнеру. Когда хозяин явочной квартиры выставил цветок, он выполнил процесс кодирования, послал сигнал, а профессор Плейшнер этого сигнала вовремя не заметил, вовремя не произвел декодирования и поплатился в результате своей жизнью: "...пьяный воздух свободы сыграл с профессором Плейшнером злую шутку: явочная квартира советского разведчика была провалена фашистами, и сейчас здесь ждали "гостей". ...между ними торчал большой цветок — сигнал провала. (Русский разведчик, почувствовав за собой слежку, успел выставить этот сигнал тревоги, а гестаповцы так и не смогли узнать, что этот цветок означает: "все в порядке" или "явка провалена". Но поскольку они были убеждены, что русский не знает об охоте за ним, они оставили все как было, а так как Плейшнер по рассеянности зашел сюда первый раз, не обратив внимания на цветок, гестаповцы решили, что на явке все в порядке."



и мы подвергаем свою жизнь



Иногда и мы подвергаем свою жизнь опасности, скажем, игнорируя сигналы дорожного движения, иногда несем какие-то убытки — моральные или физические из-за пренебрежения теми или иными кодами. Например, если не обратили внимания на тучку, которая является как бы сигналом (или кодом) предстоящего ливня. В результате — болезнь, отставание в работе или учебе и прочие напасти.

Если перейти от реальности, в том числе от бытового уровня, к цифровым технологиям, то понятно, что в компьютере никаких цветков, никаких тучек, никаких материальных носителей кодовой информации не бывает и быть не может.

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

три нуля) равна третьей степени



"Шестнадцатеричная тысяча" ( три нуля) равна третьей степени основания системы счисления (16), "восьмеричные десять тысяч" (четыре нуля) равны четвертой степени основания системы счисления (8) и, наконец, "двоичный миллиард" (двенадцать нулей) равен двенадцатой степени основания системы счисления (2).

Это еще один аргумент в пользу мысли, что законы математики едины (законы арифметики также). Изменяется всего-навсего основание в каждой конкретной арифметике.

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

Коды пронизывают нашу жизнь. Код — это совокупность знаков и система определенных правил.
В компьютерных технологиях все виды информации кодируются только цифрами или, точнее, числами, которые представляются в двоичной системе счисления — способе представления любых чисел с помощью двух знаков (цифр) по позиционному принципу.
Позиционная система счисления состоит в использовании ограниченного числа цифр, зато позиция каждой цифры в числе обеспечивает значимость (вес) этой цифры. Позиция цифры в числе на математическом языке называется разрядом.
Основание позиционной системы счисления — это количество различных знаков или символов (цифр), используемых для отображения чисел в данной системе.
Для того чтобы двоичные числа, отличающиеся довольно значительной длиной, было легче воспринимать и отображать, их сжимают в восьмеричную и шестнадцатеричную системы счисления.
Если данная тема понятна, следует обратить внимание еще на один аспект, ради которого, собственно, и был затеян этот длинный экскурс в элементарную математику, а именно связь двоичных разрядов и количества кодов, которые можно ему присвоить.

В Великобритании до недавнего времени



В Великобритании до недавнего времени была принята не десятичная система веса, длины, а использовались "допотопные" ярды, футы, дюймы и т. д. Только несколько лет назад английский парламент принял решение о переходе на десятичную систему, т. е. на метры, сантиметры и т. п. И поскольку англичане — очень консервативный народ, такой переход, возможно, будет продолжаться не один десяток лет. Как сказано выше, систем счисления может быть неограниченое количество. По значению этого основания и называются системы счисления. Мы рассмотрим только некоторые их них.

что ситуация идентична уже упоминавшемуся



Вспомним, что ситуация идентична уже упоминавшемуся цветку из романа "Семнадцать мгновений весны". С помощью одного цветка можно закодировать два сигнала: либо он стоит на окошке, либо — нет, соответственно — два кода ("явка провалена" — "явка не провалена").

Выбирая импульсный способ передачи информации, который, безусловно, обладает выигрышными достоинствами (выше уже упоминались помехоустойчивость и возможность проверки результата передачи), мы, тем не менее, должны платить за эти достоинства тем, что обрекаем себя на ограничение в использовании знаков.



Шестнадцатеричная система счисления



Шестнадцатеричная система счисления

Теперь предстоит совсем легкая прогулка, связанная с шестнадцатеричной системой счисления. В этом случае, надеемся, вы подозреваете и, видимо, справедливо, что у нас должно теперь быть 16 различных цифр.

Но, как мы знаем, традиционных ("арабских") цифр всего десять. А требуется шестнадцать. Получается, что не хватает шести знаков.



Системы счисления



Системы счисления

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

Норберт Винер

Сначала позволим себе напомнить различие между цифрами и числами: число — это абстрагированная от конкретики запись количества (например, число 25 — это двадцать пять предметов чего угодно и не только предметов, а, скажем, лет или килограммов), а цифра — это специальный знак для обозначения количества единиц. Следует обратить внимание, что цифры — это тоже записи чисел, например 8 — это не только цифра, но и число.



Справка


Слово "код" происходит от латинского слова "codex", что означает "свод" или "сборник".

Любая система знаков несет на себе черты типичного кода. Учеными, которые занимаются проблемами лингвистики и особенно семиотики, давно уже отмечено, что знак как таковой никакого отношения не имеет к тому, что он обозначает.



Справка


Семиотика (от греческого слова "semeion", что переводится как "знак" или "признак") — это наука, исследующая свойства знаков и знаковых систем во всем их многообразии. В человеческом обществе рассматриваются как естественные, так и искусственные знаковые системы, главным образом языки программирования, а также более глубокие явления культуры (мифы, ритуалы, обычаи). Кстати, в медицине также есть особый раздел, который называется семиотика, в этом разделе развивается учение о признаках болезней (симптомах), что можно трактовать как определенные "знаки" болезней, которые необходимо знать, чтобы точно и вовремя распознать болезнь.

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



Справка


Слово "цифра" происходит от позднелатинского слова "cifra", первые цифры появились у египтян и вавилонян, причем интересно, что цифры, как специальные знаки, образовались позже, чем буквы. Так, многие народы (греки, финикияне, евреи, сирийцы) для цифр использовали буквы алфавита, в России аналогичная система применялась вплоть до XVI века. Современные так называемые "арабские цифры" имеют неясное происхождение, например, утверждают, что они принесены в Европу арабами в XIII веке возможно из Индии. Повсеместно их стали использовать с XV века.



Справка


Число — это одно из фундаментальных и самых древних понятий математики; оно появилось сначала в связи со счетом отдельных предметов, а затем, абстрагировавшись, стало обозначать количественную меру. Это привело к идее о бесконечности натурального ряда чисел: 1, 2, 3, 4... и т. д. Для наших целей такого определения достаточно, но математиками были разработаны и другие числа. В частности, задачи измерения площадей привели к понятию рационального (дробного) числа, затем появились отрицательные числа, необходимость в вычислении отношения диагонали квадрата к его стороне привела к открытию иррациональных чисел, рациональные и иррациональные числа составляют совокупность действительных чисел и т. д. И лишь в XIX веке была разработана теория действительных чисел. Новый импульс эта теория получила в связи с развитием компьютерных технологий.

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



Справка


Не всякие числовые системы используют именно такой позиционный способ записи, в истории человечества были и иные эксперименты. Вспомним, например, римские цифры. В них все оригинально: другие знаки и другие принципы. Способ записи чисел с помощью римских цифр не грешит единообразием: если цифра расположена справа, то ее значение прибавляется к предыдущей, например число "XI" означает "одиннадцать", а если — слева, то значение вычитается, например число "IX", состоящее из тех же цифр, уже означает только "девять". Кроме того, в римской системе счисления в числе вес цифры X в любой позиции равен просто десяти, например число XXXII (тридцать два). И, наконец, цифры разбросаны по оси чисел (табл. 4.1).

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

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

Таблица 4.1. Сравнение арабской и римской записи чисел

Арабские числа

Римские числа

Арабские числа

Римские числа

1

I

8

VIII

2

II

9

IX

3

III

10

X

4

IV

50

L

5

V

100

С

6

VI

500

D

7

VII

1000

М



Важная мысль


Невозможно каждому числу на бесконечной числовой оси поставить в соответствие особый знак — цифру.

Поэтому для записи произвольного числа бесконечной числовой оси прибегают к помощи одной или нескольких систем счисления.



Важная мысль


Платой за приспособленность к компьютерным технологиям является ограничение в количестве знаков (цифр) и использование непривычной двоичной системы счисления.

Действительно, для записи любых чисел используются всего два знака из огромного количества, которое выработало человечество за несколько тысячелетий своего развития. Вместо живого разнообразия знаков, привычных для человека, в компьютерных технологиях применяются только два: в математической нотации это — "нолик" и "единичка".



Восьмеричная система счисления



Восьмеричная система счисления

Если мы обращаемся к восьмеричной системе счисления, то это означает, что можно использовать гораздо больше цифр, чем это принято в двоичной, но меньше, чем в десятичной, а именно можно оперировать восемью цифрами: 0, 1, 2, 3, 4, 5, 6, 7 — и не более.

Логика конвертирования десятичных чисел в восьмеричные (кодирование в восьмеричную систему счисления) совершенно идентична приведенной выше.

Более подробная информация — в разд. "Запись целых чисел в двоичной системе счисления" данной главы.

Действительно, в определенный момент цифры заканчиваются (наступает "кризис переходного периода").

Десятичное число "8" становится восьмеричным числом "10" ("восьмеричной десяткой"). Число "9" будет восьмеричным числом "11", число "10" — восьмеричным числом "12". И так далее до десятичного числа "15", которое в восьмеричном виде равно числу "17". А дальше?

Цифры снова кончились. Как будет представлено десятичное число "16" в восьмеричной системе счисления?

178 + 1 = ...,

но сумма "78 + 1" равняется "10" в восьмеричной системе счисления, а, следовательно, восьмеричный "десяток" необходимо складывать с "десятком",

уже имеющимся, т. е. получается сумма, присутствующая в восьмеричной системе: "1 + 1 = 2". В результате получается, что

178 + 1 = 208.

Дальше — восьмеричное число "21" и т. п., вплоть до восьмеричного числа "77". И только после этого будет восьмеричная "сотня".

Представим эту информацию в виде таблицы (табл. 4.4).

Таблица 4.4. Соответствие десятичных и восьмеричных чисел

Десятичные числа

Восьмеричные числа

Десятичные числа

Восьмеричные числа

0-7

0-7

25-63

31-77

8

10

64

100

9-15

11-17

128

200

16

20

256

400

17-23

21-27

512

1000

24

30

1024

2000

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



Таким образом, возникает чисто дизайнерская



Таким образом, возникает чисто дизайнерская задача по теме "Знаки" — придумать недостающие символы для цифр.

Значит, в свое время специалистам необходимо было придумать какие-нибудь новые знаки. Но когда-то, в начале компьютерной эры, особого выбора в знаках не было. Программисты располагали только знаками цифр и букв. Поэтому они пошли по элементарному пути: взяли первые буквы латинского алфавита в качестве цифр, тем более что исторически это не первый случай (мы уже упоминали, что первоначально вместо цифр многие народы использовали буквы).



в этом случае нельзя использовать,



Надеемся, что всем понятно, почему в этом случае нельзя использовать, например, числа "10", "11", "12" и т. д.? Потому что, если мы говорим о шестнадцатеричной системе счисления, то должно быть шестнадцать цифр, а не чисел.

И десятичное число "10" стали обозначать латинской буквой "А" (точнее, "цифрой А"). Соответственно, дальше идут цифры "В", "С", "D", "Е" и "Р.

Поскольку мы намеревались построить шестнадцатеричную систему, то, начиная с нуля, здесь как раз и получится 16 цифр. Например, цифра "D" — это десятичное число "13", а цифра "F" — это десятичное число "15".

Когда к шестнадцатеричному числу "F" прибавляем единицу, то, поскольку эти цифры у нас кончились, в этом разряде ставим "О", а в следующий разряд переносим единицу, поэтому получается, что десятичное число "16" будет представлено в шестнадцатеричной системе счисления числом "10", т. е. получается "шестнадцатеричная десятка". Соединим десятичные и шестна-дцатеричные числа в единую таблицу (табл. 4.5).

Таблица 4.5. Соответствие десятичных и шестнадцатеричных чисел

Десятичное число

Шести адцате-ричное число

Десятичное число

Шести адцате-ричное число

0-9

0-9

29

1D

10

А

30



11
12

В
С

31
32-41

1F
20-29

13

D

42-47

2A-2F

14

Е

48-255

30-FF

15

F

256

100

16

10

512

200

17-25

11-19

1024

400

26



1280

500

27



4096

1000

28

1C





Шестнадцатеричная система используется, чтобы более компактно записывать двоичную информацию. В самом деле, "шестнадцатеричная тысяча", состоящая из четырех разрядов, в двоичном виде занимает тринадцать разрядов (100016 = 10000000000002).

При обсуждении систем счисления неоднократно фигурировали "десятки", "сотни" и "тысячи", поэтому необходимо обратить внимание на так называемые "круглые" числа.

Как известно, человек отличается от



Как известно, человек отличается от животных второй сигнальной системой, которая представляет собой не что иное, как использование знаковых структур для отображения мыслей, идей и прочих духовных феноменов в форме идеального. При этом мозг человека становится органом сознания только тогда, когда в первую очередь овладевает естественным языком, а затем и многими другими культурными кодами. Только знание как можно большего круга знаковых систем (иностранных языков, литературы, искусства, философии и музыки) расширяет индивидуальное сознание.

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



что записывать можно не только



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

Исходя из этой задачи, попробуем составить таблицу чисел, которые "состоят" из цифр "0" и "1".



Как эту задачу можно определить



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

Тогда давайте, рассуждая, заполнять строки таблицы, у которой в левом столбце будут располагаться привычные нам десятичные числа, а в правом — их эквивалент в двоичной системе счисления (табл. 4.2).

С нуля начинается числовая ось натуральных целых чисел. Последующие целые числа получаются с помощью последовательного прибавления единицы к предыдущему числу.

Итак, число "ноль" в десятичной и двоичной системах счисления совпадает и обозначается одной и той же цифрой "О".

Далее переходим к единице, которая получается прибавлением единицы к нулю. В двоичной системе счисления, как и в десятичной, используется также одна и та же цифра "1".



это просто знак, количество цифр



Еще раз напомним, что "цифра" и "число" не всегда совпадают. Цифра — это просто знак, количество цифр ограничено. Число — это математическая категория количества, чисел бесконечное множество.

Таблица 4.2. Начало таблицы преобразования десятичных чисел в двоичные

Десятичная система счисления

Двоичная система счисления

0
1

0
1

Затем любой первоклассник скажет, что после единицы на числовой оси следует двойка, получаемая прибавлением еще одной единицы.

Для обозначения числа "два" в десятичной системе счисления предусмотрен специальный знак — цифра "2". А в двоичной системе счисления весь, прямо скажем, небогатый запас знаков ("цифр") мы уже исчерпали. Как же быть в этой ситуации?

Читатели, надеюсь, не обидятся, если мы снова напомним некоторые сведения первого класса начальной школы. Итак, вспомним сложение.

2+1 = 3;

8 + 1 = 9;

9 + 1 = ...

Мы получили число "9" и попытались к нему прибавить "1". Почему же мы остановились? У нас опять кончились цифры! До этого момента каждое число получало свой особенный знак или символ — цифру. Последовательно прибавляя "1", мы каждый раз использовали для этого шага особый знак.

И вот после числа "9" особые знаки закончились. Цифр больше нет, а числа-то продолжают возрастать, т. к. числовая ось бесконечна...

Теперь следует вспомнить позиционный принцип, который мы обсуждали ранее, попробуем применить его и к двоичной системе счисления.

Информация о позиционном принципе — в разд. "Позиционный метод записи" данной главы.

Арифметика едина, и все ее законы едины, независимо от системы счисления. У нас есть только две цифры, но с их помощью необходимо уметь записывать любое число, расположенное на длинной числовой оси.

Когда закончились двоичные цифры, надо снова начинать с нуля, записав в следующую позицию "единицу". Рассуждая таким образом, мы получаем, что десятичное число "2" у нас будет представлено двоичным числом "10", т. е. "двоичной десяткой":

12 + 1 = 102.

Далее, число "3" десятичной системы станет в двоичной системе числом "11", т. к.

102+ 1 = 112.



Не следует удивляться тому, что



Не следует удивляться тому, что в десятичной записи число "3" представлено одной цифрой (одноразрядное), а в двоичной ("11") оно представлено двумя цифрами (двухразрядное). Более того, следует учесть, что далее этот разрыв будет увеличиваться.

Следующий шаг снова требует внимания:

112+ 1 = ...

Теперь к числу "И" в двоичной системе прибавляем "1": сумма "1 + 1" дает "0", но мы при этом переносим "1" в следующий разряд. В следующем разряде снова получается сумма "1 + 1", т. е. опять "О", значит, создаем еще один разряд и переносим единицу в этот разряд — в итоге получается двоичное число "100", т. е. "двоичная сотня":

112+ 1 = 1002.

Десятичное число "4" в двоичной системе представляется числом "100".

Далее, десятичное число "5" — это двоичное число "101", десятичное число "6" — это двоичное число "110", а десятичное число "7" — это двоичное число "111".

Снова добавляется разряд, следовательно, десятичное число "8" — это уже двоичное число "1000" ("двоичная тысяча"), десятичное число "9" — это двоичное число "1001" и, наконец, десятичное число "10", у него два разряда, представляется двоичным числом "1010", у которого четыре разряда. И так далее (до бесконечности).

Подводя итог математическому упражнению для первого класса, мы можем составить таблицу соответствий десятичных и двоичных чисел, например, в пределах первых двух десятков десятичной системы счисления (табл. 4.3). Читатели, при желании, могут продолжать ее, пока хватит терпения.

Таблица 4.3. Соответствие десятичных и двоичных чисел

Десятичное число

Двоичное число

Десятичное число

Двоичное число

0

0

11

1011

1

1

12

1100

2

10

13

1101

3

11

14

1110

4

100

15

1111

5

101

16

10000

6

110

17

10001

7

111

18

10010

8

1000

19

10011

9

1001

20

10100

10

1010







Запись целых чисел в двоичной системе счисления



Запись целых чисел в двоичной системе счисления

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