Двоични числа. Част II

Миналия път се запознахме с двоичните числа, които са съставени само от две цифри – нула и едно. Научихме, че първите няколко числа са 1, 10, 11, 100, 101 и т.н. Лесно ги съставихме – просто в двоичната система няма цифрите 2, 3, и останалите цифри до девет. Отбелязахме, че ще видим как двоични числе се превръщат в десетични и обратно. Сега точно с това ще се занимаем, но нека започнем с познатите ни десетични числа.

Когато запишем, например, числото 265 имаме предвид, че сме сумирали две стотици, шест десетици и пет единици, т.е. 265 е съставено по следния начин (с x означаваме операцията умножение):

265 = 2 x 100 + 6 x 10 + 5 x 1

Всъщност 100 е равно на 102, 10 е равно на 101, а 1 ... на 100. (Да – всяко положително число, повдигнато на нулева степен дава единица!) Затова горното представяне на числото 265 може да се запише така:

265 = 2 x 102 + 6 x 101 + 5 x 100

И в това няма нищо чудно! Нали говорихме за десетичната система?! Всяко едно число е сума от съответните степени на 10 умножени по цифрите в него. И тези степени започват от нула (и са нула за единиците) и нарастват с едно наляво – 0, 1, 2 и т.н.

Както се досещате числото 1,048,576 се записва по следния начин (със запетайка са разделени всеки три цифри за по-добра четимост на числото – иначе десетичната точка ще я означаваме така, както американците я означават – с точка “.”, а не със запетайка “,”):

1,048,576 = 1 x 106 + 0 x 105 + 4 x 104 + 8 x 103 + 5 x 102 + 7 x 101 + 6 x 100

По същата логика двоичната система има за основа числото 2, както десетичната има за основа 10. Следователно двоичните числа означават аналогични суми, но на степените на числото 2.

1 = 1 x 20 = 1 x 1 = 1

10 = 1 x 21 + 0 x 20 = 1 x 2 + 0 x 1 = 2 + 0 = 2

11 = 1 x 21 + 1 x 20 = 1 x 2 + 1 x 1 = 2 + 1 = 3


и т.н.

101 = 1 x 22 + 1 x 21 + 1 x 20 = 1 x 4 + 0 x 2 + 1 x 1 = 4 + 0 + 1 = 5

Може би си спомняте една таблица от миналата лекция за съответствието между двоични и десетични числа – сега ще я запишем по-подробно:

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

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

сума

1

1

1 x 20

2

10

1x21 + 0x20

3

11

1x21 + 1x20

4

100

1x22 + 0x21 + 0x20

5

101

1x22 + 0x21 + 1x20

6

110

1x22 + 1x21 + 0x20

7

111

1x22 + 1x21 + 1x20

8

1000

1x23 + 0x22 + 0x21 + 0x20

9

1001

1x23 + 0x22 + 0x21 + 1x20

10

1010

1x23 + 0x22 + 1x21 + 0x20

Малко по-сложно е от десетична система да се премине в двоична система. Очевидно, първо трябва да намерим най-високата степен, с която като повдигнем на число 2 получаваме число, което не надминава десетичното число. За десетичното 10 тази степен е 3, т.е 23 = 8, което е по-малко от 10, докато 24 = 16, което е по-голямо от 10 (десетичното десет). Следващата стъпка е да извадим това число от десетичното число – за този пример получаваме 10 – 8 = 2. Е, получихме 2, което е 21, т.е. 10 = 23 + 21 = 8 + 2. А по логиката, дадена по-горе това е числото

10 = 1 x 23 + 0 x 22 + 1 x 21 + 0 x 20  = 8 + 0 + 2 + 0


т.е. това е двоичното число 1010 (сравнете този запис с тези от таблица по-горе!)

Нека потренираме този алгоритъм с едно по-голямо число – 233. Почваме със степените на двойката

20 = 1, 21 = 2, 22 = 4,  и т.н. 27 = 128, 28 = 256. Последното число, 256, е по-голямо от 233, значи ще работим с 27 = 128. Изваждаме 128 от числото, което ще превръщаме и получаваме

233 – 128 = 105

Същото повтаряме за полученото число: 26 = 64 < 105 и като ги извадим ще получим

105 – 64 = 41


За 41 получаваме аналогично 25 = 32 < 41

41 – 32 = 9

За 9 пък имаме 23 = 8 < 9, т.е изваждаме 9 – 8 = 1, което e 1 = 20.

Забелязахте ли, че постоянно изваждахме степени на двойката от числото докато получим единица или нула (както бе в примера за десетичното 10)? Кои степени на двойката изваждахме докато получим 1? Извадихме 27, 26, 25, 23, и 20.  А това означава, че нашето десетично число се състои от тези умалители (които изваждахме от него за да получим нула), т.е.

233 = 27 + 26 + 25 + 23 + 20 = 1x27 + 1x26 + 1x25 + 0x24 + 1x23 + 0x22 + 0x21 + 1x20

или

233 = 11101001

или за да стане това разлагане по-ясно, то е показано по-долу на картинката



На практика това превръщане може да се направи с калкулатора на Windows. Стартираме калкулатора и написваме десетичното число като внимаваме радиобутона Dec да е включен.


След което натискаме радиобутона Bin и получаваме 11101001.


Разбира се, че можем да се върнем обратно в десетично число. А това означава, че можем да напишем двоично число и да го превърнем в десетично.

Следващия път ще научим шестнадесетичната бройна система, в която числото 10 се представя като буквата A, а 11 като B и т.н. C, D, E,  и F за числото 15. Тя също се използва в компютрите и то особенно при работа с адресите на паметта или адресите на файловете на различните дискови устройства.

 Проф. Процесор Аритметиков, Бройни системи, Списание "Коснос", брой 2, 2006 г