Техника

Бройни системи

Бройни системи
(0 от 0 гласували)

 

 

 

 

ДЕСЕТИЧНА БРОЙНА СИСТЕМА

Това е общоприетата бройна система - тази, в която работим (съкращението й е DEC - Decimal /десетичен/). За нейното образуване се използват числата от 0 до 9. Преминаването от шестнайсетична, осмична и двоична бройни системи в десетична става посредством следната формула:

Aq =anqn + an-1qn-1 + ... + a0q0 + a-1q-1 + ... + amq-m

където: q е основата (бройната система - 2, 8, 10 или 16); n - брой позиции (започват от 0, 1, 2, ...) преди десетичната запетая (ако числото е дробно); m - брой позиции (започват от 1, 2, ...) след десетичната запетая (ако числото е дробно); a -тегловен коефициент. За да стане по-ясно казаното до тук, ще разгледам няколко примера.


 

Числото 5610 (чете се числото 56 в десетична бройна система) = 5.101+6.100 = 56, където (за този пример) q=10; n=1 (5 заема нулева позиция, 6 - първа).

Числото 7F,1316 (чете се числото 7F,13 в шестнайсетична бройна система) = 7.161+F.160+1.16-1+3.16-2 = (127+19/256)10, където q=16; n=1; и m=2.

Числото 10110,12 (чете се числото 10110,1 в двоична бройна система) = 1.24+0.23+1.22+1.21+0.20+1.2-1 = 22,510 (q=2; n=4; m=1).

Числото 768 (чете се числото 76 в осмична бройна система) = 7.81+6.80 = 6210 (q=8; n=1; m=0).

 

 

 

ДВОИЧНА БРОЙНА СИСТЕМА

При тази бройна система числата се получават като поредица от нули и единици -10010. Всяка една цифра от това число е един бит, като най-старшият бит стои най-вляво на числото. Обикновено този бит (най-старшия) се взема за знаков бит при извършване на числови операции. За да стане по-ясно това погледнете следния пример:

знаков бит 9 бит 8 бит 7 бит 6 бит 5 бит 4 бит 3 бит 2 бит 1   бит 0

1        001110101           0

Двоичната бройна система се означава с BIN (Binary - двоен). Превръщането на десетично число в двоично става по следния начин:

Алгоритъм:

     Делим числото на две (основата) и получаваме цяла част и остатък. Продължаваме да делим получената цяла част на основата (на две) до получаване на нулева цяла част;

     Получените остатъци от деленията записваме в обратен ред на получаването им.

Пример:

Да се превърне числото 57in в двоична бройна система.

        

 

 

Цяло число

Остатък

57 :2 =

28

1

28 :2 =

14

0

14 :2 =

7

0

7:2 =

3

1

3 :2  =

1

1

1 :2  =

0

1

Записваме резултата обратно на получаването му: 5710=111001

Ако числото е дробно се спазва следният алгоритъм за дробната част:

     Умножаваме дробната част с основата (2) и получаваме нова дробна част и цяла част. Продължаваме да умножаваме получената дробна част по основата докато получим нова дробна част равна на нула;

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

Пример:

Да се превърне числото 57,251 n в двоична бройна система.

 

дробно число 

Остатък

0,25 *2 =

0,5

0

0,5 *2 =

0

1

Резултатът се записва в реда на получаването му: 57,25=111001,01

 

ОСМИЧНА БРОЙНА СИСТЕМА

За образуването на тази бройна система се използват числата от 0 до 7. Съкращението й е ОСТ (от Octal - осмичен). Превръщането на число от десетична в осмична бройна система става аналогично на превръщането от десетична в двоична, но за основа се взима числото 8 и вместо да се дели (умножава) на две - се дели (умножава) на 8.

Пример:

Да се превърне числото 5710 в осмична бройна система.

 

цяло число 

Остатък

57 : 8 =

7

1

7 : 8 =

0

7

Записваме резултата обратно на получаването му: 5710=718

 

Да се превърне числото 57,2510 в осмична бройна система

 

 

дробно число 

Остатък

0,25 * 8 =

0

2

 

 

 

Резултатът се записва в реда на получаването му: 57,2510=71,28

Превръщане от осмична в двоична бройна система

Превръщането става като всяко едно от числата в осмична бройна система се превърне в триади (триадата е поредица от три бита) в двоично число, като се използва таблицата в началото на документа. Казаното до тук предполагам, че не Ви е ясно и ще разгледаме следният пример.

Пример:

Да се превърне числото 57 от осмична в двоична бройна система.

Правим следното нещо: от горната таблица превръщаме числата в триади - 5 ->

101; 7 -> 111. Забележете, че не се взимат всичките четири бита от числото в двоичен код, а само последните три бита, без най-старшия. Събираме двете части на числото и се получава резултатът: 578=1011112.

Превръщане от двоична в осмична бройна система

Това превръщане става по обратния начин - двоичното число се разделя на триади (от дясно на ляво) и от таблицата се записват съответните осмични числа. Ако в началото на двоичното число битовете не стигат, за да образуват триада, то се попълват с нули.

Пример:

Да се превърне числото 1011110 от двоична в осмична бройна система.

Разделяме числото на триади:

1 |  011| 110

Тъй като от пред не стигат числата за образуване на триада, то там се попълват нули:

001| 011| 110

Отделната триада се превръща в съответното число в осмичен код, посредством таблицата за бройните системи в началото на документа. Ето и съответните

 

стойности: 001 --> 1; 011 ---> 3 и 110 ---> 6. Сглобяват се получените цифри и се получава числото в осмична бройна система: 10111102=1368.

 

  

ШЕСТНАДЕСЕТИЧНА БРОЙНА СИСТЕМА

За образуването на тази бройна система се използват числата от 0 до 9 и буквите A, B, C, D, E и F. Съкращението й е HEX (от Hexadecimal - шестнадесетичен). Превръщането на число от десетична в шестнадесетична бройна система става аналогично на превръщането от десетична в двоична, но за основа се взима числото 16 и вместо да се дели (умножава) на две - се дели (умножава) на 16.

Пример:

Да се превърне числото 5710 в шестнадесетична бройна система.

 

цяло число 

Остатък

57 : 16=

3

9

3 : 16 =

0

3

Записваме резултата обратно на получаването му; 5710 = 3916

Да се превърне числото 57,25in в шестнадесетична бройна система.

 

цяло число 

Остатък

0,25 *16=

0

4

 

 

 

Резултатът се записва в реда на получаването му: 57,2510=39,416

Превръщане от шестнадесетична в двоична бройна система

Това превръщане става аналогично на осмично-двоичното преобразуване, само, че тук се използват тетради вместо триади (тетрадата е поредица от четири бита в двоичен код). Значи какво правим: всяка една цифра или буква от шестнадесетичното число се превръщат в тетради в двоично число, като се използва таблицата в началото на документа. Получените тетради се сглобяват и се получава двоичното число.

Пример:

Да се превърне шестнадесетичното число F31 в двоично.

Значи следваме алгоритъма: всяко едно от числата /буквите/ го превръщаме в тетради - F ---->  1111; 3 ---> 0011;  1  ---> 0001. Сглобяваме получените тетради и получаваме двоичното число: F3116=1111001100012.

Превръщане от двоична в шестнадесетична бройна система

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

Пример:

Да се превърне числото 10110111101 от двоично в шестнадесетично. Разделяме числото на тетради:

101  | 1011 | 1101 От пред се допълва една нула, за да се образува тетрада:

0101 | 1011 | 1101

Съответните тетради се превръщат в шестнадесетични символи: 0101 ----> 5; 1011 ---->

В; 1101 ----> D. Сглобяват се шестнадесетичните символи и се получава шестнадесетичното число: 1011011110l2=5BD16

 

ПРАВ, ОБРАТЕН И ДОПЪЛНИТЕЛЕН КОД

Правия, обратния и допълнителния код се отнасят за числа в двоична бройна система, така че ако искате да представите число в обратен или допълнителен код, то първо трябва да го превърнете в двоично.

Прав код

Прав код е самото число представено в двоична бройна система, като най-старшият му бит (този най-вляво) е знаковия бит, а останалите са самата стойност на числото. Прав код е:

знаков бит 9 бит 8 бит 7 бит 6 бит 5 бит 4 бит 3 бит 2 бит 1   бит 0

1        001110101           0

Обратен код

Обратният код се получава като се инвертират всички битове на правия код, освен знаковия. Пример:

знаковбит 9 бит 8 бит 7 бит 6 бит 5 бит 4 бит 3 бит 2 бит 1 бит 0 бит

1         110001010         1

Допълнителен код

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

10011101010       Прав код 11100010101       Обратен код + 1

11100010110       Допълнителен код

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

 

ДВОИЧНО ДЕСЕТИЧЕН КОД

Съкращението на този код е BCD (Binary Coded Decimal), тоест двоично кодирано десетично число. При двоично десетичния код всяка една от десетичните цифри се кодира с една тетрада (поредица от четири бита в двоичен код), като всеки разряд има определено тегло: 8, 4, 2, 1. Тетрадите се взимат от таблицата в началото на документа. Пример:

Да се представи числото 91 в BCD код.

9 -> 1001, 1 -> 0001 следователно числото 91 = 10010001 в BCD код.

Така кодирано числото не е в двоичен код, а в смесен двоично десетичен код (BCD код). Ако искаме да превърнем числото от десетичен в двоичен код, то трябва да се спазва алгоритъмът, описан по-горе.

Бройни системи

Коментари