Заметки на полях
Еще один нюанс, дошедший до нас из древнегреческих времен, связан с тем, что греки и римляне не знали нуля. Именно поэтому первым годом нового века и тысячелетия считается 2001, а не 2000 год — год с двумя нулями относится к предыдущему столетию или тысячелетию — после последнего года до нашей эры (минус первого) идет сразу первый год нашей эры, а не нулевой. Однако именно нулевой логично считать первым, вдумайтесь: ведь когда мы говорим «первые годы XX века», мы имеем в виду именно 1903 или 1905, а не 1913 или 1915. Но древние греки были совсем не такие дураки и ноль игнорировали не по скудоумию. Дело в том, что в последовательности объектов, нумерованных от нуля до, например, девяти, содержится не девять предметов, а десять! Чтобы избежать этой путаницы, в быту обычно нумеруют, начиная с единицы, тогда последний номер будет одновременно означать и количество. В электронике же и в программировании обычно принято нумеровать объекты, начиная с нуля, и всегда следует помнить, что номер и количество различаются на единицу (так, в байте 256 возможных символов, но номер последнего равен 255). На всякий случай всегда следует уточнять, откуда ведется нумерация, иначе можно попасть в неприятную ситуацию (скажем, элементы строки в языке Pascal нумеруются с единицы, а в языке С — с нуля).
Десятичная и другие системы счисления
В десятичной системе (т. е. в системе с основанием р = 10) полное представление четырехразрядного числа, например, 1024 таково: 1∙10 3+ 0∙10 2+ 2∙10 1+ 4∙10 0.
Так как любое число в нулевой степени равно единице, то степень в младшем разряде можно и не писать, но ради строгости мы ее будем воспроизводить, так как это позволяет нам лучше вникнуть в одно обстоятельство: степень старшего разряда всегда на единицу меньше, чем количество разрядов (нумерация степеней ведется с нуля).
Ну, а как можно представить число в системе счисления с другим основанием? Для любой системы с основанием р нужно не меньше (и не больше) чем р различных цифр — то есть значков для изображения чисел. Для десятичной системы их десять — это и есть известные всем символы от 0 до 9. Выбор начертания этих значков совершенно произволен — так, у арабов и по сей день 1 обозначается, как и у нас, палочкой. А вот цифра 2 обозначается знаком, похожим на латинскую строчную «г», причем тройка тоже имеет похожее начертание, и я плохо себе представляю, как Усама бен Ладен их там отличает. Впрочем, это дело привычки, у нас тоже значки «5» и «6» в некоторых случаях различить непросто, не говоря уж о сходстве между нулем «0» и буквой «О». В ручном написании текстов программ, а также в матричных компьютерных шрифтах, которые были в ходу до появления графического интерфейса, для этого ноль даже изображали перечеркнутым, наподобие знака диаметра: « ». Попробуйте различить записи «150 м» и «150 м», если пробел забыли поставить в нужном месте — в случае матричных шрифтов или ручной записи, да и в любом случае, если символов «0» и «О» рядом не стоит, это неразрешимая задача, если только из контекста не ясно, когда идет речь об омах, а когда — о метрах.
Чтобы древним вавилонянам, несчастным, не приходилось выучивать аж 60 разных начертаний знаков, они придумали логичную систему наподобие римской (еще раз обратите внимание на рис. 7.4) — действующую, впрочем, только в пределах первых шестидесяти чисел, а далее у них система становилась аналогичной современным.
Самые употребительные системы счисления в настоящее время, кроме десятичной, связаны с электроникой и потому имеют непосредственное значение для нашего повествования. Это знаменитая двоичная система и менее известная широкой публике, но также очень распространенная шестнадцатеричная.
Двоичная система
В двоичной системе необходимо всего два различных знака для цифр: 0 и 1. Это и вызвало столь большое ее распространение в электронике: смоделировать два состояния электронной схемы и затем их безошибочно различить неизмеримо проще, чем три, четыре и более, не говоря уж о десяти.
Что очень важно на практике, двоичная система прекрасно стыкуется как с представленными в предыдущем разделе логическими переменными «правда» и «ложь», так и с тем фактом, что величина, могущая принимать два и только два состояния, и получившая названия бит, есть естественная единица количества информации — меньше, чем один бит, информации не бывает. Это было установлено в 1948 году одновременно упоминавшимся Клодом Шенноном и Нобертом Винером, «отцом» кибернетики. Разряды двоичных чисел (то есть чисел, представленных в двоичной системе) также стали называть битами. (Bit, bite — по-английски «кусочек, частица чего либо». На самом деле это случайное совпадение: слово «бит» возникло от сокращения Binary digiT — «двоичная цифра».)
Читать дальше
Конец ознакомительного отрывка
Купить книгу