Москва 2001 г тайный язык информатики Чарльз Петцольд ббк 32. 973. 26–018



Pdf көрінісі
бет4/26
Дата07.04.2020
өлшемі3,29 Mb.
#61783
1   2   3   4   5   6   7   8   9   ...   26
Байланысты:
Petcold Kod-Taynyy-yazyk-informatiki.535358

Глава 7

Великолепная десятка

Представление о языке как о коде кажется вполне естествен-

ным. Большинство из нас в школе изучали (или хотя бы пы-

тались) иностранный язык, поэтому мы вполне допускаем, что

животное, которое мы зовем кошкой, может называться так-

же catgatochatKatze или 

katta.

Цифры далеко не так разнообразны. На каком бы языке



мы ни говорили и как бы мы ни произносили названия цифр,

почти все жители планеты пишут их одинаково:

1   2   3   4   5   6   7   8   9   1 0

Неспроста математику называют «универсальным языком»!

Числа, безусловно, являются самым абстрактным кодом из

всех, с которыми нам приходится иметь дело в повседневной

жизни. Увидев число:

3

мы не должны немедленно соотнести его с чем-либо. Можно



представить себе 3 яблока или 3 других предмета, но мы не по-

чувствуем себя менее комфортно, узнав из контекста, что речь

идет о возрасте ребенка, номере телевизионного канала, счете

хоккейного матча или количестве стаканов муки в рецепте тор-

та. Мы настолько привыкли к абстрактности чисел, что нам ско-

рее трудно будет понять, что такое количество яблок:



54

Глава седьмая

необязательно обозначать символом:

3

Большую часть этой и следующей глав мы посвятим убежде-



нию себя в том, что такое количество яблок:

можно обозначить также числом:

11

Для начала избавимся от представления об исключитель-



ности числа десять. В том, что большинство цивилизаций ос-

новало свои системы счисления на десяти (или пяти), нет ни-

чего удивительного. Испокон веку люди использовали для

счета пальцы. Будь у нас восемь или двенадцать пальцев, наши

методы счета были бы немного другими. Неслучайно у слов

пять и пятерня один корень.

В этом смысле выбор системы счисления, основанной на

десяти, или десятичной, совершенно произволен. Тем не ме-

нее мы наделяем числа, основанные на 10, почти магическим

значением и даже даем им специальные имена. Вот как выгля-

дит последовательность степеней числа 10:

10

1

 = 10



10

2

 = 100 (сотня)



10

3

 = 1 000 (тысяча)



10

4

 = 10 000



10

5

 = 100 000



10

6

 = 1 000 000 (миллион)



10

7

 = 10 000 000



10

8

 = 100 000 000



10

9

 = 1 000 000 000 (миллиард)



55

Великолепная десятка

Большинство историков полагает, что числа были изна-

чально придуманы торговцами для счета людей, имущества и

пр. Например, факт наличия у кого-то четырех утят можно

записать так:

В конце концов человек, работа которого заключалась в рисо-

вании утят, подумал: «Зачем мне рисовать четырех утят? По-

чему не нарисовать одного утенка и отметить, что их четыре

штуки... я не знаю... черточками или чем-нибудь еще?»

Однажды наступил день, когда рисовальщику понадобилось

отобразить 27 утят. Картина получилась, прямо скажем, сме-

хотворная.

Глядя на нее, кто-то сказал: «Должен быть более удобный спо-

соб». Так появились числа.

Из первых систем счисления сейчас широко используются

только римские цифры. Вы встретите их на циферблатах ча-

сов, в виде дат на памятниках, в виде номеров страниц в кни-

гах и — что особенно обидно — в отметках об авторских пра-

вах на кинофильм. На вопрос: «В каком году была сделана кар-

тина?» — может ответить лишь человек, способный быстро

расшифровать MCMLIII в конце длинного хвоста титров.

Римскими цифрами 27 утят записываются так



56

Глава седьмая

Суть кодирования проста: вместо 10 черточек пишем Х, вмес-

то 5 черточек — V.

Римские цифры, дожившие до наших дней, выглядят так

I   V   X   L   C   D   M

Символ I означает «один». Он мог произойти от черточки

или от указательного пальца. Символ V, означающий 5, воз-

можно, символизирует руку с отогнутым большим пальцем.

Символ X, означающий 10, состоит из двух символов V. L рав-

но пятидесяти. Цифра С происходит от латинского слова



centum (100), а цифра М — от слова mille (1000).

Некогда считалось, что римские цифры легко складывать

и вычитать, поэтому в Европе их долго использовали для ве-

дения бухгалтерии. Фактически при сложении двух римских

чисел вы просто объединяете все цифры и упрощаете резуль-

тат, применяя несколько правил: пять I равно V, два V равно

X, пять X равно L и т. д.

Но вот умножать и делить римские числа трудно. По той

же причине не годятся для сложных вычислений и другие ран-

ние системы счисления (например, древнегреческая). Геомет-

рия, разработанная древними греками, и по сей день практи-

чески в неизменном виде преподается в школах, а вот своей

алгебры они так и не создали.

Система счисления, которой мы пользуемся, называется

арабской. Разработана она в Индии, но в Европу ее принесли

арабские математики. Среди них особенно прославился пер-

сидский математик Мухаммед ибн-Муса аль-Хорезми (от име-

ни которого происходит слово «алгоритм»). Приблизительно

в 825 г. он написал книгу по алгебре, в которой использовал

индийскую систему счисления. Латинский перевод этой кни-

ги датируется 1120 г. Он сыграл важную роль в ускорении пе-

рехода Европы от римских чисел к современной системе.

Арабская система счисления отличается от своих предше-

ственниц тремя моментами.

Она является позиционной, т. е. количество, представляе-



мое цифрой, зависит от ее положения в числе. Позиция

цифры в числе не менее (а на самом деле более) важна, чем

сама цифра. В числах 100 и 1 000 000 содержится по одной

единице, но никого не нужно убеждать, что миллион на-

много больше ста.


57

Великолепная десятка

В арабской системе нет того, что имеется практически во



всех ранних системах счисления, а именно специального

символа для числа 10.

С другой стороны, в арабской системе есть нечто более важ-



ное, чем символ для 10, отсутствующее почти во всех ран-

них системах счисления, — ноль.

Да, именно 0. Скромный ноль — без сомнения, одно из са-

мых важных изобретений в истории чисел и математики. Он

необходим для позиционной записи, так как позволяет отли-

чить 25 от 205 или 250. Ноль также облегчает выполнение мно-

гих математических операций, которые в непозиционных си-

стемах сопряжены с многочисленными трудностями, особен-

но умножения и деления.

Вся структура построения арабских чисел раскрывается при

их произношении. Например, число 4 825 мы называем «че-

тыре тысячи восемьсот двадцать пять». Это означает:

четыре тысячи

восемь сотен

два десятка и

пять


Мы можем записать компоненты этого числа так:

4825 = 4000 + 800 + 20 + 5

или с еще большей степенью детализации:

4825 = 4 

´ 1000 +

´ 100 +



´ 10 +


5

С помощью степеней числа десять, число представляется так:

4825 = 4 

´ 10


3

 +



´ 10

2

 +



´ 10


1

 +



´ 10

0

Помните, что любое число в степени 0 равно 1.



В числе, состоящем из нескольких цифр, каждая позиция

имеет определенное значение. С помощью семи квадратиков

на схеме можно представить любое число от 0 до 9 999 999:


58

Глава седьмая

Количество единиц

Количество десятков

Количество сотен

Количество тысяч

Количество десятков тысяч

Количество сотен тысяч

Количество миллионов

Каждая позиция соответствует степени десяти. Специаль-

ный символ для десяти нам не нужен, так как мы сдвигаем 1 в

следующую позицию, а на освободившемся месте пишем 0.

Что особенно приятно, дробные части чисел, записанные в

виде цифр справа от десятичного разделителя, следуют тому

же принципу. Число 42 705,684 =

´ 10 000 +



´ 1000 +


´ 100 +


´ 10 +


´ 1 +


¸ 10 +


¸ 100 +


¸ 1000


Можно записать это число и без знака деления:

´ 10 000 +



´ 1000 +


´ 100 +


´ 10 +


´ 1 +


´ 0,1 +


´ 0,01 +


´ 0,001


или с помощью степеней 10

´ 10



4

 +



´ 10

3

 +



´ 10


2

 +


59

Великолепная десятка

´ 10



1

 +



´ 10

0

 +



´ 10


–1

 +



´ 10

–2

 +



´ 10


–3

Заметьте: показатели степени доходят до 0, а затем становятся

отрицательными.

Мы знаем, что 3 + 4 = 7. Точно так же, 30 + 40 = 70, 300 + 400 =

= 700, 3000 + 4000 = 7000. В этом и состоит красота арабской

системы счисления. Складывая десятичные числа любой дли-

ны, вы разбиваете процедуру на одни и те же простые шаги.

На каждом шаге выполняется не более чем сложение пары од-

норазрядных (т. е. записываемых с помощью одной цифры)

чисел. Вот для чего вас заставляли учить таблицу сложения.



+

0

1

2

3

4

5

6

7

8

9

0

0

1



2

3

4



5

6

7



8

9

1

1

2

3



4

5

6



7

8

9



10

2

2

3



4

5

6



7

8

9



10

11

3

3

4

5



6

7

8



9

10

11



12

4

4

5



6

7

8



9

5

5

6



7

8

9



6

6

7



8

9

7

7

8

9



16

8

8

9



17

9

9

18



10

11

12



13

10

11



12

13

14



14

15

14



15

16

14



15

17

16



14

15

10



11

12

13



10

11

12



13

10

11



12

13

10



11

12

13



Найдите в верхней строке и левом столбце два числа, кото-

рые хотите сложить. На пересечении столбца и строки будет

их сумма, например, 4 + 6 = 10.

При умножении двух десятичных чисел приходится про-

делывать более сложные действия, но смысл их опять же со-


60

Глава седьмая

стоит в разбиении процедуры на несколько шагов, на каждом

из которых складываются или умножаются одноразрядные

числа. Возможно, в школе вы учили и таблицу умножения.

 ×

 

0

1

2

3

4

5

6

7

8

9

0

0

0



0

0

0



0

0

0



0

0

1

0

2

3



4

5

6



7

8

9



2

0

2



4

6

8



10

12

14



16

18

3

0

3

6



9

12

15



18

21

24



27

4

0

4



8

12

16



20

5

0

5



10

15

20



6

0

6



12

18

7

0

7

14



63

8

0

8



72

9

0

81



24

28

32



36

25

30



35

40

45



48

54

49



56

64

48



56

72

63



45

54

24



30

36

42



21

28

35



42

16

24



32

40

9



18

27

36



Ключевое преимущество позиционной записи не в том, что

она хорошо работает в десятичной системе счисления, а в том,

что она хорошо работает в системах счисления, основанных



не на десяти. Десятичная система хороша для нас, но неудобна

для мультипликационных персонажей, наделенных не пятью,

а всего четырьмя пальцами на каждой руке (или лапе). Они

определенно предпочтут систему счисления, основанную на

восьми. Интересно, что многое из того, что мы знаем о деся-

тичной системе, применимо и к системе счисления, которую

применяют наши друзья из мультфильмов.


Глава 8

Альтернативы десяти

Десять — число для людей исключительно важное. У боль-

шинства из нас десять пальцев на руках (и на ногах), и мы оп-

ределенно предпочитаем иметь по десять и тех, и других. По-

скольку с помощью пальцев удобно считать, мы придумали

целую систему счисления, основанную на числе десять.

1

2

3



4

5

10



9

8

7



6

Я уже говорил в предыдущей главе, что система счисления,

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

настолько естественной, что об альтернативах поначалу и по-

мыслить трудно. Действительно, когда мы видим число 10, мы

не можем не думать, что оно относится именно к такому ко-

личеству утят:


62

Глава восьмая

10 =


Но причина, по которой 10 обозначает именно столько утят, в

том, что их количество совпадает с количеством пальцев на

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

был бы другой способ счета, и 10 означало бы что-то другое,

например, вот столько утят:

10 =


или столько:

10 =


или даже вот столько:

10 =


Поняв, как обозначить числом 10 всего двух утят, мы обретем

способность представлять любые числа с помощью переклю-

чателей, проводов, лампочек и реле (что необходимо для со-

здания компьютера).

Если бы у человека было на каждой руке только по четыре

пальца, как у мультяшки, нам, вероятно, никогда не пришла

бы в голову мысль о системе счисления, основанной на деся-

ти. Вместо нее мы считали бы нормальной, естественной, ра-

циональной, неизбежной, бесспорной и единственно разум-

ной систему счисления, основанную на восьми. И называли

бы ее не десятичной, а восьмеричной.

В восьмеричной системе счисления не нужен символ:

9


63

Альтернативы десяти

Покажите этот символ мультяшке, и услышите от него: «А для

чего нужна эта загогулина?» Подумав еще немного, вы пойме-

те, что в восьмеричной системе можно обойтись и без символа:

8

В десятичной системе нет специального символа для десяти,



поэтому в восьмеричной системе нет специального символа

для восьми.

В десятичной системе мы считаем так: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9

и 10. В восьмеричной системе счет идет так: 0, 1, 2, 3, 4, 5, 6, 7

и... что дальше? Символы-то кончились. Выход один — после

7 ставить 10. Но эта десятка уже не равна числу пальцев на

руках человека. В восьмеричной системе 10 — это количество

пальцев на руках мультяшки.

1

2

3



4

10

7



6

5

11



12 13

14

20



17

16

15



64

Глава восьмая

Даже когда пальцы на ногах и руках будут исчерпаны, счет

в восьмеричной системе можно продолжать. В целом он идет,

как и счет в десятичной системе, но без чисел, содержащих

цифры 8 и 9:

0, 1, 2, 3, 4, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16, 17, 20, 21,

21, 22, 23, 24, 25, 26, 27, 30, 31, 31, 32, 33, 34, 35, 36, 37,

40, 41, 41, 42, 43, 44, 45, 46, 47, 50, 51, 52, 53, 54, 55, 56,

57, 60, 61, 62, 63, 64, 65, 66, 67, 70, 71, 72, 73, 74, 75, 76,

77, 100...

Последнее число — 100 — есть число пальцев мультяшки, ум-

ноженное само на себя.

Чтобы избежать путаницы при написании восьмеричных

и десятичных чисел, будем указывать тип системы в нижнем

индексе. Индекс ДЕСЯТЬ будет означать десятичную систему,

а ВОСЕМЬ — восьмеричную.

Итак, число гномов, которых встретила Белоснежка, равно

7

ДЕСЯТЬ



 или 7

ВОСЕМЬ


.

Число пальцев на руках мультяшек равно 8

ДЕСЯТЬ

 или 10


ВОСЕМЬ

.

Число симфоний, написанных Бетховеном, равно 9



ДЕСЯТЬ

 или


11

ВОСЕМЬ


.

Число пальцев на руках человека равно 10

ДЕСЯТЬ

 или 12


ВОСЕМЬ

.

Число месяцев в году равно 12



ДЕСЯТЬ

 или 14


ВОСЕМЬ

.

Число дней в двух неделях равно 14



ДЕСЯТЬ

 или 16


ВОСЕМЬ

.

Число килограммов в пуде равно 16



ДЕСЯТЬ

 или 20


ВОСЕМЬ

.

Число часов в сутках равно 24



ДЕСЯТЬ

 или 30


ВОСЕМЬ

.

Число букв в латинском алфавите равно 26



ДЕСЯТЬ

 или 32


ВОСЕМЬ

.

Число зубов у взрослого человека равно 32



ДЕСЯТЬ

 или 40


ВОСЕМЬ

.

Число карт в колоде равно 52



ДЕСЯТЬ

 или 64


ВОСЕМЬ

.

Число клеток на шахматной доске равно 64



ДЕСЯТЬ

 или 100


ВОСЕМЬ

.

Число созвездий на небе равно 88



ДЕСЯТЬ

 или 130


ВОСЕМЬ

.

Число сантиметров в метре равно 100



ДЕСЯТЬ

 или 144


ВОСЕМЬ

.

Число женщин-одиночек в начале Уимблдонского турни-



ра равно 128

ДЕСЯТЬ


 или 200

ВОСЕМЬ


.

Площадь Мемфиса в квадратных милях равна 256

ДЕСЯТЬ

 или


400

ВОСЕМЬ


.

В этом списке обратите внимание на красивые круглые

восьмеричные числа, например, 100

ВОСЕМЬ


, 200

ВОСЕМЬ


 и 400

ВОСЕМЬ


Кра-

сивым круглым числом мы обычно называем число с нулями на

конце. Два нуля на конце десятичного числа означают, что оно



65

Альтернативы десяти

кратно 100

ДЕСЯТЬ

 = 10


ДЕСЯТЬ

 

´ 10



ДЕСЯТЬ

. В восьмеричной системе два

нуля на конце означают, что число кратно 100

ВОСЕМЬ


 = 10

ВОСЕМЬ


 

´

´ 10



ВОСЕМЬ

 (т. е. 8

ДЕСЯТЬ

 

´ 8



ДЕСЯТЬ

 = 64


ДЕСЯТЬ

).

Заметьте также, что все десятичные эквиваленты круглых



восьмеричных чисел, а именно 64

ДЕСЯТЬ


, 128

ДЕСЯТЬ


 и 256

ДЕСЯТЬ


, явля-

ются степенями двойки. В этом есть смысл. Число 400

ВОСЕМЬ

, на-


пример, равно произведению чисел 4

ВОСЕМЬ


, 10

ВОСЕМЬ


 и 10

ВОСЕМЬ


, каж-

дое из которых является степенью двойки. Естественно, при

умножении степени двойки на степень двойки, мы опять-таки

получаем степень двойки.

В таблице некоторые степени двойки показаны в десятич-

ном и восьмеричном представлении.



Степень двойки

Десятичное

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

2

0



1

1

2



1

2

2



2

2

4



4

2

3



8

10

2



4

16

20



2

5

32



40

2

6



64

100


2

7

128



200

2

8



256

400


2

9

512



1000

2

10



1024

2000


2

11

2048



4000

2

12



4096

10000


Красивые круглые числа в крайнем правом столбце указыва-

ют на то, что при работе с двоичными кодами удобны недеся-

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

По способу построения чисел восьмеричная система не от-

личается от десятичной за исключением некоторых тонкостей.

Например, каждой позиции в восьмеричном числе соответ-

ствует цифра, умноженная на степень восьми.


66

Глава восьмая

Количество единиц

Количество восьмерок

Количество 64

Количество 512

Количество 4 096

Количество 32 768

Например, восьмеричное число 3 725

ВОСЕМЬ

 раскладывается так:



3 725

восемь


 = 3 000

восемь


 + 700

восемь


 + 20

восемь


 + 5

восемь


Затем выделяем круглые числа:

3 725


ВОСЕМЬ

 = 3 


´ 1 000

ВОСЕМЬ


 +

´ 100



ВОСЕМЬ

 +



´ 10

ВОСЕМЬ


 +

´ 1



ВОСЕМЬ

или в десятичном представлении:

3 725

ВОСЕМЬ


 = 3 

´ 8


3

 +



´ 8

2

 +



´ 8


1

 +



´ 8

0

Заменяем степени восьмерки их десятичными значениями:



3 725

ВОСЕМЬ


 = 3 

´ 512


ДЕСЯТЬ

 +



´ 64

ДЕСЯТЬ


 +

´ 8



ДЕСЯТЬ

 +



´ 1

ДЕСЯТЬ


Выполнив десятичное сложение, получаем 2 005

ДЕСЯТЬ


. Именно

так восьмеричные числа преобразуются в десятичные.

Восьмеричные числа складываются и умножаются точно

так же, как и десятичные. Единственное отличие — в исполь-

зовании других таблиц сложения и умножения. Таблица сло-

жения восьмеричных чисел приведена на стр. 67.

Например, 5

ВОСЕМЬ


 + 7

ВОСЕМЬ


 = 14

ВОСЕМЬ


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

складывать и столбиком.

135

+ 643


1000

67

Альтернативы десяти

+

0

1

2

3

4

5

6

7

0

0

1



2

3

4



5

6

7



1

1

2



3

4

5



6

7

10



2

2

3



4

5

6



7

10

11



3

3

4



5

6

7



10

11

12



4

4

5



6

7

5

5

6

7



6

6

7



7

7

10



11

12

14



13

10

11



12

13

14



13

10

11



12

14

15



15

16

13



10

11

12



Начнем с правого столбца: 5 плюс 3 равно 10. Пишем 0, а 1

переносим. 1 + 3 + 4 = 10. Пишем 0, 1 переносим. 1 + 1 + 6 = 10.

Великое равенство 2 

´ 2 = 4 выполняется и в восьмеричной

системе. А вот произведение двух троек равно не 9. А чему же?

Оказывается, 3 

´ 3 = 11

ВОСЕМЬ


 = 9

ДЕСЯТЬ


. Вот как выглядит таблица

умножения в восьмеричной системе.

 × 

0

1

2

3

4

5

6

7

0

0

0



0

0

0



0

0

0



1

0

2



3

4

5



6

7

2

0

2

4



6

10

12



14

16

3

0

3

6



11

14

17



22

25

4

0

4

10



14

20

24



5

0

5



12

17

24



6

0

6



14

22

7

0

7

16



30

34

31



36

43

61



30

36

44



52

25

34



43

52



В данном случае 4 

´ 6 = 30


ВОСЕМЬ

, что эквивалентно числу 24

ДЕСЯТЬ

,

равному 4 



´ 6 в десятичной системе.

68

Глава восьмая

Итак, восьмеричная система не менее обоснована, чем де-

сятичная. Но мы на этом не остановимся. Теперь, когда мы

построили систему счисления для мультяшек, поищем что-

нибудь подходящее для раков. У раков нет пальцев, но есть

клешни. Система счисления для раков основана на 4 и называ-

ется четверичной.

1

2



3

10

Счет в этой системе происходит так: 0, 1, 2, 3, 10, 11, 12, 13,



20, 21, 22, 23, 30, 31, 32, 33, 100, 101, 102, 103, 110 и т. д.

Я не хочу уделять много внимания четверичной системе,

так как нам пора двигаться к еще более важным вещам. По-

смотрим лишь, как позиции в четверичном числе соответству-

ют степеням четырех.

Количество единиц

Количество четверок

Количество 16

Количество 64

Количество 256

Количество 1024

Четверичное число 31 232 можно записать так:

31 232

 

ч



ЕТЫРЕ

 = 3 


´ 10 000

ч

ЕТЫРЕ



 +

´ 1 000



ч

ЕТЫРЕ


 +

´ 100



ч

ЕТЫРЕ


 +

´ 10



 

ч

ЕТЫРЕ



 +

´ 1



ч

ЕТЫРЕ


69

Альтернативы десяти

так:


31 232

 

ч



ЕТЫРЕ

 = 3 


´ 256

ДЕСЯТЬ


 +

´ 64



ДЕСЯТЬ

 +



´ 16

ДЕСЯТЬ


 +

´ 4



 

ДЕСЯТЬ


 +

´ 1



ДЕСЯТЬ

или так:


31 232

 

ч



ЕТЫРЕ

 = 3 


´ 4

4

 +



´ 4


3

 +



´ 4

2

 +



´ 4


1

 +



´ 4

0

Проделав вычисления в десятичной системе, получаем, что



31 232

 

ч



ЕТЫРЕ

 = 878


 

ДЕСЯТЬ


.

Наконец, мы готовы взять последнее, самое серьезное пре-

пятствие. Представим себе, что мы дельфины и должны на-

учиться считать с помощью двух плавников. Теперь в нашем

распоряжении всего две цифры: 0 и 1. Система счисления, ос-

нованная на двух цифрах, называется двоичной.

Чтобы привыкнуть к двоичным числам, требуется некото-

рая практика. Проблема в том, что цифры очень быстро за-

канчиваются. Смотрите, как считает дельфин.

1

10



Да, в двоичной системе сразу после 1 идет 10. Это удивитель-

но, но не так уж неожиданно. В любой системе счисления, ког-

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

ным числом является 10. В двоичной системе мы считаем так:



70

Глава восьмая

0, 1, 10, 11, 100, 101, 110, 111, 1000, 1001, 1010, 1011,

1100, 1101, 1110, 1111, 10000, 10001...

Эти числа кажутся большими, но на самом деле таковыми не яв-

ляются. Говоря точнее, двоичные числа не большие, а длинные.

Число голов у человека равно 1

ДЕСЯТЬ

 или 1


ДВА

.

Число плавников у дельфина равно 2



ДЕСЯТЬ

 или 10


ДВА

.

Число чайных ложек в столовой равно 3



ДЕСЯТЬ

 или 11


ДВА

.

Число сторон у квадрата равно 4



ДЕСЯТЬ

 или 100


ДВА

.

Число пальцев на руке у человека равно 5



ДЕСЯТЬ

 или 101


ДВА

.

Число ног у насекомого равно 6



ДЕСЯТЬ

 или 110


ДВА

.

Число дней в неделе равно 7



ДЕСЯТЬ

 или 111


ДВА

.

Число музыкантов в октете равно 8



ДЕСЯТЬ

 или 1000

ДВА

.

Число планет в Солнечной системе равно 9



ДЕСЯТЬ

 или 1001

ДВА

.

Число миллиметров в сантиметре равно 10



ДЕСЯТЬ

 или 1010

ДВА

и так далее.



В многозначном двоичном числе позиции цифр соответ-

ствуют степеням двойки.

Количество единиц

Количество двоек

Количество четверок

Количество восьмерок

Количество 16

Количество 32

Поэтому любое двоичное число, состоящее из 1 с нескольки-

ми нулями, является степенью двойки. Показатель степени

равен числу нулей. Таблица степеней двойки демонстрирует

это правило наглядно.



Двоичное__двойки__ричное'>Степень

Десятичное

Восьме-

Четве-

Двоичное

двойки

ричное

ричное

2

0



1

1

1



1

2

1



2

2

2



10

2

2



4

4

10



100

2

3



8

10

20



1000

2

4



16

20

100



10000

71

Альтернативы десяти

2

5



32

40

200



100000

2

6



64

100


1000

1000000


2

7

128



200

2000


10000000

2

8



256

400


10000

100000000

2

9

512



1000

20000


1000000000

2

10



1024

2000


100000

10000000000

2

11

2048



4000

200000


100000000000

2

12



4096

10000


1000000

1000000000000

Рассмотрим в качестве примера число 101101011010. Его

можно записать так:

101101011010

ДВА


  = 1 

´ 2 048


ДЕСЯТЬ

 +



´ 1 024

ДЕСЯТЬ


 +

´ 512



ДЕСЯТЬ

 +



´ 256

ДЕСЯТЬ


 +

´ 128



ДЕСЯТЬ

 +



´ 64

ДЕСЯТЬ


 +

´ 32



ДЕСЯТЬ

 +



´ 16

ДЕСЯТЬ


 +

´ 8



ДЕСЯТЬ

 +



´ 4

ДЕСЯТЬ


 +

´ 2



ДЕСЯТЬ

 +



´ 1

ДЕСЯТЬ


или так:

101101011010

ДВА

  = 1 


´ 2

11

 +



´ 2


10

 +



´ 2

9

 +



´ 2


8

 +



´ 2

7

 +



´ 2


6

 +



´ 2

5

 +



´ 2


4

 +



´ 2

3

 +



´ 2


2

 +



´ 2

1

 +



´ 2


0

(продолжение)



72

Глава восьмая

Сложив эти числа в десятичной форме, получаем 2 048 + 512 +

+ 256 + 64 + 16 + 8 + 2 = 2 906

ДЕСЯТЬ


.

Чтобы облегчить преобразование двоичных чисел в деся-

тичные, используйте созданный мной шаблон.

  

×



128

+

×



64

×

32



×

16

×



8

×

4



×

2

×



1

+

+



+

+

+



+

=

Этот шаблон позволяет преобразовать двоичные числа



длиной в восемь цифр, но его легко продлить. Поместите вось-

мизначное двоичное число в 8 верхних квадратиков, по одной

цифре в каждый квадратик. Проделайте восемь умножений и

запишите результаты в восьми нижних квадратиках. Сложите

эти результаты и получите искомое число. Допустим, вам нуж-

но найти десятичный эквивалент двоичного числа 10010110.

+

+

+



+

+

+



+

=

1



0

0

1



0

1

1



0

128


0

0

16



0

4

2



0

150


  

×

128



×

64

×



32

×

16



×

8

×



4

×

2



×

1

Преобразовать число из десятичной системы в двоичную



уже не так просто, но и эту операцию можно проводить по

шаблону.


128

64

32



16

8

4



2

1

Работать с этим шаблоном сложнее, чем кажется, поэтому вни-



мательно следуйте моим указаниям. Поместите десятичное

число (меньшее или равное 255) целиком в верхний левый

квадратик. Разделите это число на первый делитель (128) с ос-

татком. Поместите частное в квадратик под делителем, а оста-

ток — в следующий верхний квадратик. Этот остаток станет

делимым для следующего вычисления, в котором использу-

ется делитель 64. Продолжайте вычисления до конца.


73

Альтернативы десяти

Помните: частное может быть равно либо 0, либо 1. Если

делимое меньше делителя, частное равно 0, а остаток — дели-

мому. Если делимое больше или равно делителю, частное рав-

но 1, а остаток равен разности между делимым и делителем.

Рассмотрим пример с числом 150.

128

64

32



16

8

4



2

1

150



22

22

22



6

6

2



0

0

0



1

0

1



1

0

1



Складывать и умножать двоичные числа даже легче, чем

десятичные. Думаю, вам это понравится. Представьте себе,

насколько быстрее вы бы складывали, если бы для этого дос-

таточно было выучить такую маленькую табличку.



+

0

1

0

0

1



1

1

10



Попробуем с ее помощью сложить два числа:

1100101


+ 0110110

10011011


Начнем с правого столбца: 1 + 0 = 1. Второй столбец справа: 0

+ 1 = 1. Третий столбец: 1 + 1 = 0, а 1 переносим. Четвертый

столбец: 1 (перенос) + 0 + 0 = 1. Пятый столбец: 0 + 1 = 1. Ше-

стой столбец: 1 + 1 = 0, а 1 переносим. Седьмой столбец: 1 (пе-

ренос) + 1 + 0 = 10.

Таблица умножения даже проще таблицы сложения, так как

ее можно целиком получить из двух основных правил умно-

жения: умножение любого числа на 0 дает 0; умножение лю-

бого числа на 1 дает то же самое число.

´

0



1

0

0

0



1

0

1



Умножим 13

ДЕСЯТЬ


 на 11

ДЕСЯТЬ


 в двоичном виде:

74

Глава восьмая

1101


x 1011

1101


1101

0000


1101

10001111


Получаем 143

 

ДЕСЯТЬ



.

Двоичные числа из эстетических соображений часто допол-

няют нулями спереди (т. е. слева от первой 1), например,  0011

вместо 11. На значение числа это не влияет. В таблице приво-

дятся первые 16 двоичных чисел с их десятичными эквивален-

тами.


Двоичное

Десятичное

0000


0

0001


1

0010


2

0011


3

0100


4

0101


5

0110


6

0111


7

1000


8

1001


9

1010


10

1011


11

1100


12

1101


13

1110


14

1111


15

Посмотрите на этот список двоичных чисел внимательно,

уделив внимание каждому из четырех вертикальных столбцов

нулей и единиц. Смотрите, как по мере продвижения вниз по

столбцу в нем чередуются цифры:


75

Альтернативы десяти

в крайнем столбце справа чередуются 0 и 1;



в следующем столбце чередуются пара 0 и пара 1;

в следующем столбце чередуются четверка 0 и четверка 1;



в следующем столбце чередуются восемь 0 и восемь 1.

Чередование весьма систематическое, правда? Вы легко на-

пишете и следующие шестнадцать двоичных чисел, добавив к

предыдущим числам одну единицу слева.

Двоичное

Десятичное

10000


16

10001


17

10010


18

10011


19

10100


20

10101


21

10110


22

10111


23

11000


24

11001


25

11010


26

11011


27

11100


28

11101


29

11110


30

11111


31

Посмотрим на эту же последовательность немного под дру-

гим углом. Когда вы считаете в двоичной системе, крайняя

цифра справа (ее иногда называют младшим разрядом) пооче-

редно равна 0 и 1. Всякий раз, когда она меняется с 1 на 0, сле-

дующая цифра справа также изменяется — с 0 на 1 или с 1 на

0. Это правило распространяется и на следующие разряды:

когда двоичная цифра меняется с 1 на 0, следующая за ней так-

же изменяется — либо с 0 на 1, либо с 1 на 0.

Работая с большими десятичными числами, мы часто раз-

деляем пробелами составляющие их цифры на группы по три,


76

Глава восьмая

чтобы легче было оценить величину числа. Например, чтобы

распознать число 12000000, вам придется считать, сколько в

нем цифр. Но разделите его пробелами (12 000 000), и вы сра-

зу поймете, что это 12 миллионов.

Двоичные числа удлиняются очень быстро. Например, 12

миллионов в двоичном представлении пишутся так —

101101110001101100000000. Чтобы сделать это число немного

более читаемым, отделяйте группы из четырех цифр дефиса-

ми (1011-0111-0001-1011-0000-0000) или теми же пробелами

(1011 0111 0001 1011 0000 0000). Позже мы рассмотрим более

удобный способ записи двоичных чисел.

Сократив число цифр до двух, мы дошли до предельно уп-

рощенной системы счисления, которая является своеобразным

мостиком между арифметикой и электричеством. В предыду-

щих главах мы работали с переключателями, проводами, лам-

пами и реле. Любое из этих устройств может символизиро-

вать двоичные цифры 0 и 1.



Провод может быть двоичной цифрой. Если по проводу те-

чет ток, двоичная цифра равна 1. Если тока нет, двоичная циф-

ра принимает значение 0.

Переключатель может быть двоичной цифрой. Если пере-

ключатель включен (замкнут), двоичная цифра равна 1. Если

выключен (разомкнут), двоичная цифра равна 0.

Лампочка может быть двоичной цифрой. Если лампочка го-

рит, двоичная цифра равна 1. Если не горит, значение двоич-

ной цифры равно 0.

Реле может быть двоичной цифрой. Если реле сработало,

двоичная цифра равна 1. Если не сработало, двоичная цифра

равна 0.

Для компьютеров двоичные числа — неисчерпаемый ресурс.

Примерно в 1948 г. американский математик Джон Уайл-

дер Таки (John Wilder Tukey) (род. 1915) осознал, что словосо-

четание «binary digit» (двоичная цифра) по мере распростра-

нения компьютеров будет приобретать все большее значение.

Он решил заменить его новым, более коротким словом. Рас-

смотрев такие варианты как  bigit и  binit, он остановился на

простом, элегантном и симпатичном слове бит (bit).




Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   ...   26




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет