За най-малките (пък и не само за тях) – Компютрите през погледа на проф. Процесор Аритметиков

 

Двоичните числа (продължение)

 

Миналия път се запознахме с двоичните числа, които са съставени само от две цифри – нула и едно. Научихме, че първите няколко числа са 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, т.е изваждаме 98 = 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. Тя също се използва в компютрите и то особенно при работа с адресите на паметта или адресите на файловете на различните дискови устройства.

 

Малко английски

 

И последно – в компютърните програми в повечето страни по Света се пише на английски. Затова нека видим как са на английски някои от думичките, с които се запознахте днес.

 

български

английски

произнасяне

 

български

английски

степен

power

пауър

 

на n-та степен

to the n-th degree

степен

degree

дигрии

 

повдигам на трета степен

raise to the third power

 

[ това е статия от брой 2 на списание "Коснос" www.kosnos.com]