21.10.2019

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


Нека разгледаме един от тях най-важните темипо компютърни науки - . IN училищна програмаразкрива се доста „скромно“, най-вероятно поради липсата на отделени за него часове. Познания по тази тема, особено по превод на бройни системи, са предпоставка за успешен полагане на Единния държавен изпити прием в университети в съответните факултети. По-долу обсъждаме подробно концепции като позиционни и непозиционни бройни системи, дадени са примери за тези бройни системи, представени са правила за преобразуване на цели десетични числа, правилни десетични дроби и смесени десетични числа във всяка друга бройна система, преобразуване на числа от всяка бройна система в десетична, преобразуване от осмични и шестнадесетични бройни системи в двоични числа система. На изпити в големи количестваИма проблеми по тази тема. Способността да ги решавате е едно от изискванията към кандидатите. Очаквайте скоро: За всяка тема от раздела, в допълнение към подробен теоретичен материал, почти всички възможни варианти задачиЗа самоподготовка. Освен това ще имате възможност да изтеглите напълно безплатно от услуга за хостване на файлове готови подробни решения на тези проблеми, илюстриращи различни начиниполучаване на правилния отговор.

позиционни бройни системи.

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

Непозиционните числови системи включват например римски, където вместо цифри има латински букви.

аз 1 (един)
V 5 (пет)
х 10 (десет)
Л 50 (петдесет)
° С 100 (сто)
д 500 (петстотин)
М 1000 (хиляда)

Тук буквата V означава 5, независимо от нейното местоположение. Струва си обаче да се спомене, че въпреки че римската бройна система е класически пример за непозиционна бройна система, тя не е напълно непозиционна, т.к. От него се изважда по-малкото число пред по-голямото:

I Л 49 (50-1=49)
VI 6 (5+1=6)
XXI 21 (10+10+1=21)
MI 1001 (1000+1=1001)

позиционни бройни системи.

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

Например, ако говорим за десетичната бройна система, тогава в числото 700 числото 7 означава „седемстотин“, но същото число в числото 71 означава „седем десетки“, а в числото 7020 - „седем хиляди“ .

всеки позиционна бройна системаима своя собствена база. За основа се избира естествено число, по-голямо или равно на две. Той е равен на броя на цифрите, използвани в дадена бройна система.

    Например:
  • Двоичен- позиционна бройна система с основа 2.
  • кватернер- позиционна бройна система с основа 4.
  • Петкратно- позиционна бройна система с основа 5.
  • осмичен- позиционна бройна система с основа 8.
  • Шестнадесетичен- позиционна бройна система с основа 16.

За успешно решаване на задачи по темата „Бройни системи“ ученикът трябва да знае наизуст съответствието на двоични, десетични, осмични и шестнадесетични числа до 16 10:

10 s/s 2 s/s 8 s/s 16 s/s
0 0 0 0
1 1 1 1
2 10 2 2
3 11 3 3
4 100 4 4
5 101 5 5
6 110 6 6
7 111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 А
11 1011 13 б
12 1100 14 ° С
13 1101 15 д
14 1110 16 д
15 1111 17 Е
16 10000 20 10

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

Към числото се добавя едно и се получава ново число. Ако цифрата на единиците стане равен на основатабройна система, увеличаваме броя на десетиците с 1 и т.н.

Този „преход на едно“ е това, което плаши повечето студенти. Всъщност всичко е съвсем просто. Преходът възниква, ако цифрата на единиците стане равна на числова база, увеличаваме броя на десетките с 1. Мнозина, спомняйки си добрата стара десетична система, моментално се объркват за цифрите в този преход, защото десетичните и, например, двоичните десетки са различни неща.

Следователно находчивите ученици развиват „свои собствени методи“ (изненадващо... работещи) при попълване например на таблици с истинност, чиито първи колони (стойности на променливи) всъщност са попълнени с двоични числа във възходящ ред.

Например, нека разгледаме въвеждането на числа осмична система: Добавяме 1 към първото число (0), получаваме 1. След това добавяме 1 към 1, получаваме 2 и т.н. до 7. Ако добавим едно към 7, получаваме число, равно на основата на бройната система, т.е. 8. След това трябва да увеличите мястото на десетките с едно (получаваме осмичната десетка - 10). Следващите, очевидно, са числата 11, 12, 13, 14, 15, 16, 17, 20, ..., 27, 30, ..., 77, 100, 101...

Правила за преобразуване от една бройна система в друга.

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

Числото трябва да бъде разделено на нова база на бройната система. Първият остатък от делението е първата второстепенна цифра на новото число. Ако частното от делението е по-малко или равно на новата основа, тогава то (частното) трябва да се раздели отново на новата основа. Делението трябва да продължи, докато получим частно по-малко от новата основа. Това е най-голямата цифра на новото число (трябва да запомните, че например в шестнадесетичната система след 9 има букви, т.е. ако остатъкът е 11, трябва да го напишете като B).

Пример ("деление по ъгъл"): Нека преобразуваме числото 173 10 в осмичната бройна система.


Така 173 10 = 255 8

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

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

Пример: Нека преобразуваме числото 0,65625 10 в осмичната бройна система.

Калкулаторът ви позволява да конвертирате цели и дробни числа от една бройна система в друга. Основата на бройната система не може да бъде по-малка от 2 и по-голяма от 36 (10 цифри и 26 латински буквислед всичко). Дължината на числата не трябва да надвишава 30 знака. Да влезеш дробни числаизползвайте символ. или, . За да конвертирате число от една система в друга, въведете оригиналното число в първото поле, основата на оригиналната бройна система във второто и основата на бройната система, към която искате да конвертирате числото, в третото поле, след това щракнете върху бутона „Вземете запис“.

Оригинален номер написана на 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 -та бройна система.

Искам да напиша число 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 -та бройна система.

Вземете вход

Завършени преводи: 1237182

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

Бройните системи са разделени на два вида: позиционенИ не позиционно. Използваме арабската система, тя е позиционна, но има и римска система - тя не е позиционна. В позиционните системи позицията на цифра в число еднозначно определя стойността на това число. Това е лесно да се разбере, като се разгледа някакво число като пример.

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

Числото 5921 може да се запише в следния вид: 5921 = 5000+900+20+1 = 5·10 3 +9·10 2 +2·10 1 +1·10 0 . Числото 10 е характеристика, която определя бройната система. Стойностите на позицията на дадено число се приемат като степени.

Пример 2. Помислете за реалното десетично число 1234.567. Нека го номерираме, започвайки от нулевата позиция на числото от десетичната запетая наляво и надясно:

Числото 1234.567 може да се запише в следната форма: 1234.567 = 1000+200+30+4+0.5+0.06+0.007 = 1·10 3 +2·10 2 +3·10 1 +4·10 0 +5·10 -1 + 6·10 -2 +7·10 -3 .

Преобразуване на числа от една бройна система в друга

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

Преобразуване на числа от произволна бройна система в десетична бройна система

За да преобразувате число от която и да е бройна система в десетична, е достатъчно да номерирате цифрите му, като започнете с нула (цифрата вляво от десетичната запетая) подобно на примери 1 или 2. Нека намерим сумата от произведенията на цифрите на числото по основата на бройната система на степен на позицията на тази цифра:

1. Преобразувайте числото 1001101.1101 2 в десетичната бройна система.
Решение: 10011.1101 2 = 1·2 4 +0·2 3 +0·2 2 +1·2 1 +1·2 0 +1·2 -1 +1·2 -2 +0·2 -3 +1·2 - 4 = 16+2+1+0,5+0,25+0,0625 = 19,8125 10
Отговор: 10011.1101 2 = 19.8125 10

2. Преобразувайте числото E8F.2D 16 в десетичната бройна система.
Решение: E8F.2D 16 = 14·16 2 +8·16 1 +15·16 0 +2·16 -1 +13·16 -2 = 3584+128+15+0,125+0,05078125 = 3727,17578125 10
Отговор: E8F.2D 16 = 3727.17578125 10

Преобразуване на числата от десетичната бройна система в друга бройна система

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

Преобразуване на цяла част от число от десетична бройна система в друга бройна система

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

3. Преобразувайте числото 273 10 в осмичната бройна система.
Решение: 273/8 = 34 и остатък 1. 34/8 = 4 и остатък 2. 4 е по-малко от 8, така че изчислението е завършено. Записът от балансите ще изглежда така: 421
Преглед: 4·8 2 +2·8 1 +1·8 0 = 256+16+1 = 273 = 273, резултатът е същият. Това означава, че преводът е направен правилно.
Отговор: 273 10 = 421 8

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

Преобразуване на дробната част на число от десетичната бройна система в друга бройна система

Нека ви напомним, че правилното десетичен знакНаречен реално число с нулева цяла част. За да преобразувате такова число в бройна система с основа N, трябва последователно да умножите числото по N, докато дробната част стане нула или се получи необходимия брой цифри. Ако по време на умножението се получи число с цяла част, различна от нула, тогава цялата част не се взема предвид допълнително, тъй като тя се въвежда последователно в резултата.

4. Преобразувайте числото 0,125 10 в двоичната бройна система.
Решение: 0,125·2 = 0,25 (0 е цялата част, която ще стане първата цифра на резултата), 0,25·2 = 0,5 (0 е втората цифра на резултата), 0,5·2 = 1,0 (1 е третата цифра на резултата и тъй като дробната част е нула, тогава преводът е завършен).
Отговор: 0.125 10 = 0.001 2

Методи за преобразуване на числа от една бройна система в друга.

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

За да преобразувате цяло число от една бройна система с основа d1 в друга с основа d2, трябва последователно да разделите това число и получените частни на основа d2 на новата система, докато получите частно, по-малко от основа d2. Последното частно е най-голямата цифра на числото в нова системачисла с основа d2, а числата след нея са остатъци от деление, записани в ред обратен на получаването им. Извършвайте аритметични действия в бройната система, в която е записано числото, което се превежда.

Пример 1. Преобразувайте числото 11(10) в двоичната бройна система.

Отговор: 11(10)=1011(2).

Пример 2. Преобразувайте числото 122(10) в осмичната бройна система.


Отговор: 122(10)=172(8).

Пример 3. Преобразувайте числото 500(10) в шестнадесетична бройна система.


Отговор: 500(10)=1F4(16).

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

За да преобразувате правилна дроб от бройна система с основа d1 в система с основа d2, е необходимо последователно да умножите първоначалната дроб и дробните части на получените продукти по основата на новата бройна система d2. Правилната част от числото в новата бройна система с основа d2 се образува под формата на цели числа от получените продукти, като се започне от първата.
Ако преводът доведе до дроб под формата на безкрайна или дивергентна серия, процесът може да бъде завършен, когато се постигне необходимата точност.

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

Пример 1. Преобразувайте числото 0,625(10) в двоичната бройна система.


Отговор: 0,625(10)=0,101(2).

Пример 2. Преобразувайте числото 0,6(10) в осмичната бройна система.


Отговор: 0,6(10)=0,463(8).

Пример 2. Преобразувайте числото 0,7(10) в шестнадесетична бройна система.


Отговор: 0.7(10)=0.B333(16).

Преобразувайте двоични, осмични и шестнадесетични числа в десетична бройна система.

За да преобразувате число от P-арната система в десетична, трябва да използвате следната формула за разширяване:
аnan-1…а1а0=аnPn+ аn-1Pn-1+…+ а1P+a0 .

Пример 1. Преобразувайте числото 101.11(2) в десетичната бройна система.

Отговор: 101.11(2)= 5.75(10) .

Пример 2. Преобразувайте числото 57,24(8) в десетичната бройна система.

Отговор: 57,24(8) = 47,3125(10) .

Пример 3. Преобразувайте числото 7A,84(16) в десетичната бройна система.

Отговор: 7A.84(16)= 122.515625(10) .


Преобразуване на осмични и шестнадесетични числа в двоична бройна система и обратно.

За да преобразувате число от осмичната бройна система в двоична, всяка цифра от това число трябва да бъде записана като трицифрено двоично число (триада).

Пример: запишете числото 16,24(8) в двоичната бройна система.


Отговор: 16.24(8)= 1110.0101(2) .

За да преобразувате двоично число обратно в осмичната бройна система, трябва да разделите оригиналното число на триади отляво и отдясно на десетичната запетая и да представите всяка група с цифра в осмичната бройна система. Крайните непълни триади се допълват с нули.

Пример: запишете числото 1110.0101(2) в осмичната бройна система.


Отговор: 1110.0101(2)= 16.24(8) .

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

Пример: запишете числото 7A,7E(16) в двоичната бройна система.


Отговор: 7A,7E(16)= 1111010.0111111(2) .

Забележка: водещите нули отляво за цели числа и отдясно за дроби не се изписват.

За да преобразувате двоично число обратно в шестнадесетичната бройна система, трябва да разделите оригиналното число на тетради отляво и отдясно на десетичната запетая и да представите всяка група с цифра в шестнадесетичната бройна система. Крайните непълни триади се допълват с нули.

Пример: запишете числото 1111010.0111111(2) в шестнадесетична бройна система.

За да преобразувате бързо числата от десетичната бройна система в двоичната система, трябва да имате добри познания за числата „2 на степен“. Например 2 10 =1024 и т.н. Това ще ви позволи да решите някои примери за превод буквално за секунди. Една от тези задачи е Задача A1 от демонстрацията на USE 2012. Можете, разбира се, да отнеме много и досадно време, за да разделите число на „2“. Но е по-добре да решите различно, спестявайки ценно време на изпита.

Методът е много прост. Същността му е следната: Ако числото, което трябва да се преобразува от десетичната система, е равно на числото "2 на степен", то това число в двоичната система съдържа брой нули, равни на степента. Добавяме "1" пред тези нули.

  • Нека преобразуваме числото 2 от десетичната система. 2=2 1 . Следователно в двоичната система числото съдържа 1 нула. Поставяме "1" отпред и получаваме 10 2.
  • Нека преобразуваме 4 от десетичната система. 4=2 2 . Следователно в двоичната система числото съдържа 2 нули. Поставяме "1" отпред и получаваме 100 2.
  • Нека преобразуваме 8 от десетичната система. 8=2 3 . Следователно в двоичната система числото съдържа 3 нули. Поставяме "1" отпред и получаваме 1000 2.


По същия начин за други числа "2 на степен".

Ако номерът за превод е по-малко число„2 на степен“ на 1, тогава в двоичната система това число се състои само от единици, чийто брой е равен на степента.

  • Нека преобразуваме 3 от десетичната система. 3=2 2 -1. Следователно в двоичната система числото съдържа 2 единици. Получаваме 112.
  • Нека преобразуваме 7 от десетичната система. 7=2 3 -1. Следователно в двоичната система числото съдържа 3 единици. Получаваме 111 2.

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


Преводът е подобен за други числа "2 на степен-1".

Ясно е, че преводът на числа от 0 до 8 може да се извърши бързо или чрез разделяне, или просто да се знае наизуст представянето им в двоичната система. Дадох тези примери, за да разберете принципа този методи го използва за превод на по-"впечатляващи числа", например за превод на числата 127,128, 255, 256, 511, 512 и т.н.

Можете да срещнете такива проблеми, когато трябва да преведете номер, а не равно на числото"2 на степен", но близо до него. Може да е по-голямо или по-малко от 2 на степен. Разликата между преведеното число и числото "2 на степен" трябва да е малка. Например до 3. Представянето на числата от 0 до 3 в двоичната система просто трябва да се знае без превод.

Ако числото е по-голямо от, решете по следния начин:

Първо преобразуваме числото „2 на степен“ в двоичната система. И тогава добавяме към него разликата между числото „2 на степен“ и числото, което се превежда.

Например, нека преобразуваме 19 от десетичната система. То е по-голямо от числото "2 на степен" с 3.

16=2 4 . 16 10 =10000 2 .

3 10 =11 2 .

19 10 =10000 2 +11 2 =10011 2 .

Ако числото е по-малко от числото "2 на степен", тогава е по-удобно да използвате числото "2 на степен-1". Решаваме го така:

Първо преобразуваме числото „2 на степен-1“ в двоичната система. И след това изваждаме от него разликата между числото „2 на степен 1“ и числото, което се превежда.

Например, нека преобразуваме 29 от десетичната система. То е по-голямо от числото „2 на степен-1“ с 2. 29=31-2.

31 10 =11111 2 .

2 10 =10 2 .

29 10 =11111 2 -10 2 =11101 2

Ако разликата между числото, което се превежда, и числото "2 на степен" е повече от три, тогава можете да разделите числото на неговите компоненти, да конвертирате всяка част в двоичната система и да добавите.

Например, преобразувайте числото 528 от десетичната система. 528=512+16. Ние превеждаме 512 и 16 отделно.
512=2 9 . 512 10 =1000000000 2 .
16=2 4 . 16 10 =10000 2 .
Сега нека го добавим в колона:

Здравей, посетител на сайта! Продължаваме да изучаваме протокола на IP мрежовия слой и по-точно неговата версия IPv4. На пръв поглед темата двоични числа и двоична бройна системаняма нищо общо с IP протокола, но ако си спомним, че компютрите работят с нули и единици, тогава се оказва, че двоичната система и нейното разбиране е основата на основите, от които се нуждаем научете се да преобразувате числа от двоични в десетичнии обратно: десетична към двоична. Това ще ни помогне да разберем по-добре IP протокола, както и принципа на работа на мрежовите маски с променлива дължина. Да започваме!

Ако темата за компютърните мрежи е интересна за вас, можете да прочетете други записи на курса.

4.4.1 Въведение

Преди да започнем, си струва да обясним защо мрежовият инженер се нуждае от тази тема. Въпреки че можехте да се убедите в неговата необходимост, когато говорихме, можете да кажете, че има IP калкулатори, които значително улесняват задачата за разпределяне на IP адреси, изчисляване на необходимите подмрежови/мрежови маски и определяне на номера на мрежата и номера на хоста в IP адреса. Така е, но IP калкулаторът не винаги е под ръка, това е причина номер едно. Причина номер две е, че на изпитите на Cisco няма да ти дадат IP калкулатор и толкова. ще трябва да направите преобразуването на IP адресите от десетичен в двоичен на лист хартия, и не са толкова малко въпросите, където това се изисква в изпита/изпитите за получаване на CCNA сертификат, би било жалко изпитът да бъде провален заради такава дреболия. И накрая, разбирането на двоичната бройна система води до по-добро разбиране на принципа на работа.

По принцип мрежовият инженер не е длъжен да може да преобразува наум числата от двоични в десетични и обратно. Освен това рядко някой знае как да направи това психически; преподавателите по различни курсове по компютърни мрежи попадат главно в тази категория, тъй като постоянно се сблъскват с това всеки ден. Но с лист хартия и химикал трябва да се научите как да превеждате.

4.4.2 Десетични цифри и числа, цифри в числа

Нека започнем просто и да поговорим за двоични цифри и числа, знаете, че цифрите и цифрите са две различни неща. Числото е специален символ за обозначаване, а числото е абстрактна нотация за количество. Например, за да запишем, че имаме пет пръста на ръката си, можем да използваме римски и арабски цифри: V и 5. В този случай пет е едновременно число и цифра. И например, за да напишем числото 20, използваме две цифри: 2 и 0.

Общо в десетичната бройна система имаме десет цифри или десет символа (0,1,2,3,4,5,6,7,8,9), чрез комбиниране на които можем да изпишем различни числа. От какъв принцип се ръководим, когато използваме десетичната бройна система? Да, всичко е много просто, повдигаме десет на една или друга степен, например, нека вземем числото 321. Как може да се напише по различен начин, така: 3*10 2 +2*10 1 +1*10 0 . Така се оказва, че числото 321 представлява три цифри:

  1. Числото 3 означава най-значимото място или в този случай това е мястото на стотните, иначе тяхното число.
  2. Числото 2 е на мястото на десетиците, имаме две десетици.
  3. Числото едно се отнася до най-малката цифра.

Тоест в този запис две не е просто две, а две десетици или две по десет. И три не е просто три, а три по сто. Получава се следната зависимост: единицата на всяка следваща цифра е десет пъти по-голяма от единицата на предходната, защото това, което е 300, е три пъти по сто. Беше необходимо отклонение по отношение на десетичната бройна система, за да се улесни разбирането на двоичната система.

4.4.3 Двоични разряди и числа, както и тяхното записване

В двоичната бройна система има само две цифри: 0 и 1. Следователно записването на число в двоичната система често е много по-голямо, отколкото в десетичната система. С изключение на числата 0 и 1, нулата в двоичната бройна система е равна на нула в десетичната бройна система и същото важи и за единица. Понякога, за да не се обърква в коя бройна система е записано числото, се използват подиндекси: 267 10, 10100 12, 4712 8. Числото в подиндекса показва бройната система.

Символите 0b и &(амперсанд) могат да се използват за запис на двоични числа: 0b10111, &111. Ако в десетичната бройна система, за да произнесем числото 245, използваме тази конструкция: двеста четиридесет и пет, то в двоичната бройна система, за да назовем числото, трябва да произнесем цифра от всяка цифра, например числото 1100 в двоичната бройна система не трябва да се произнася като хиляда и сто, а като едно, едно, нула, нула. Нека разгледаме записването на числата от 0 до 10 в двоичната бройна система:

Мисля, че логиката вече трябва да е ясна. Ако в десетичната бройна система за всяка цифра имахме десет възможности (от 0 до 9 включително), то в двоичната бройна система във всяка от цифрите на двоичното число имаме само две възможности: 0 или 1.

За да работим с IP адреси и подмрежови маски, трябва само естествени числав двоичната бройна система, въпреки че двоичната система ви позволява да пишете дробни и отрицателни числа, но не ни трябва.

4.4.4 Преобразуване на числа от десетични в двоични

Нека да разгледаме по-добре това как да конвертирате число от десетично в двоично. И тук всичко всъщност е много, много просто, въпреки че е трудно да се обясни с думи, така че ще го дам веднага пример за преобразуване на числа от десетични в двоични. Нека вземем числото 61, за да преобразуваме в двоичната система, трябва да разделим това число на две и да видим какъв е остатъкът от делението. И резултатът от деленето отново се разделя на две. В този случай 61 е дивидентът, винаги ще имаме две като делител и разделяме частното (резултата от делението) отново на две, продължаваме да делим, докато частното съдържа 1, тази последна единица ще бъде най-лявата цифра. Картината по-долу демонстрира това.

Моля, обърнете внимание, че числото 61 не е 101111, а 111101, тоест записваме резултата от края. В последния случай няма смисъл да се дели едно на две, тъй като в този случай се използва целочислено деление и при този подход се получава както на фигура 4.4.2.

Това не е най-много бърз начинпреобразуване на число от двоично в десетично. Имаме няколко ускорителя. Например числото 7 в двоична система се записва като 111, числото 3 като 11, а числото 255 като 11111111. Всички тези случаи са невероятно прости. Факт е, че числата 8, 4 и 256 са степени на две, а числата 7, 3 и 255 са с едно по-малко от тези числа. И така, за числа, които са с едно по-малко от число, равно на степен две, се прилага просто правило: в двоичната система такова десетично число се записва като брой единици, равни на степен две. Така например числото 256 е две на осма степен, следователно 255 е записано като 11111111, а числото 8 е две на трета степен и това ни казва, че 7 в двоичната бройна система ще бъде записано като 111 , Е, разберете, как да напишете 256, 4 и 8 в двоичната бройна система също не е трудно, просто добавете едно: 256 = 11111111 + 1 = 100000000; 8 = 111 + 1 = 1000; 4 = 11 + 1 = 100.
Можете да проверите всеки от вашите резултати на калкулатор и е по-добре да го направите в началото.

Както виждате, още не сме забравили как да разделяме. И сега можем да продължим.

4.4.5 Преобразуване на числа от двоични в десетични

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

За да получите десетично число от това двоично число, трябва да умножите всяко число в цифрата по две на степен и след това да добавите резултатите от умножението, по-лесно е да се покаже:

1*2 4 +1*2 3 +1*2 2 +1*2 1 +0*2 0 = 16+8+4+2+0=30

Нека отворим калкулатора и се уверим, че 30 в десетичната бройна система е 11110 в двоична система.

Виждаме, че всичко е направено правилно. От примера става ясно, че Преобразуването на число от двоично в десетично е много по-лесно, отколкото обратното му преобразуване. За да работите с увереност, просто трябва да запомните степени на две до 2 8. За по-голяма яснота ще дам таблица.

Не се нуждаем от повече, тъй като максималното възможно число, което може да бъде записано в един байт (8 бита или осем двоични стойности) е 255, тоест във всеки октет на IP адреса или IPv4 подмрежовата маска максималната възможна стойност е 255. Има полета, в които има стойности по-големи от 255, но не е необходимо да ги изчисляваме.

4.4.6 Събиране, изваждане, умножение на двоични числа и други операции с двоични числа

Нека сега да разгледаме операции, които могат да се извършват върху двоични числа. Нека започнем с прости аритметични операции и след това да преминем към операции с булева алгебра.

Събиране на двоични числа

Събирането на двоични числа не е толкова трудно: 1+0 =1; 1+1=0 (ще дам обяснение по-късно); 0+0=0. Това бяха прости примерикъдето е използвана само една цифра, нека да разгледаме примери, където броят на цифрите е повече от една.
101+1101 в десетичната система е 5 + 13 = 18. Да броим в колона.

Резултатът се маркира оранжево, калкулаторът казва, че сме изчислили правилно, можете да го проверите. Сега да видим защо това се случи, защото първо написах, че 1+1=0, но това е за случая, когато имаме само една цифра, за случаите, когато има повече от една цифра, 1+1=10 (или две в десетична), което е логично.

След това вижте какво се случва, извършваме добавяне по цифри отдясно наляво:

1. 1+1=10, напишете нула и единица отива на следващата цифра.

2. В следващата цифра получаваме 0+0+1=1 (тази единица дойде при нас от резултата от събирането в стъпка 1).

4. Тук имаме единица само във второто число, но и тя е прехвърлена тук, така че 0+1+1 = 10.

5. Залепете всичко заедно: 10|0|1|0.

Ако сте мързеливи в колона, тогава нека преброим така: 101011+11011 или 43 + 27 = 70. Какво можем да направим тук, но нека да видим, защото никой не ни забранява да правим трансформации и да променяме местата на членове не променя сумата, за двоичната бройна система това правило също е от значение.

  1. 101011 = 101000 + 11 = 101000 + 10 + 1 = 100000 + 1000 + 10 + 1.
  2. 11011 = 11000 + 10 + 1 = 10000 + 1000 + 10 + 1.
  3. 100000 + 10000 + (1000 +1000) + (10+10) + (1+1).
  4. 100000 + (10000 + 10000) + 100 + 10.
  5. 100000 + 100000 +110
  6. 1000000 + 110.
  7. 1000110.

Можете да проверите с калкулатор, 1000110 в двоична система е 70 в десетична система.

Изваждане на двоични числа

Веднага пример за изваждане на едноцифрени числа в двоичната бройна система, не говорихме за отрицателни числа, така че не вземаме под внимание 0-1: 1 – 0 = 1; 0 – 0 = 0; 1 – 1 = 0. Ако има повече от една цифра, тогава всичко също е просто, дори не се нуждаете от колони или трикове: 110111 – 1000, това е същото като 55 – 8. В резултат на това получаваме 101111. И сърцето спря да бие, откъде идва единицата в третата цифра (номерация отляво надясно и започва от нула)? Просто е! Във втората цифра на числото 110111 има 0, а в първата цифра има 1 (ако приемем, че номерирането на цифрите започва от 0 и върви отляво надясно), но единицата на четвъртата цифра се получава от добавяне на две единици от третата цифра (получавате нещо като виртуална двойка) и от това За двойки изваждаме едно, което е в нулевата цифра на числото 1000, и 2 - 1 = 1, а 1 е валидна цифра в двоичната бройна система.

Умножение на двоични числа

Остава да разгледаме умножението на двоични числа, което се осъществява чрез изместване на един бит наляво. Но първо, нека да разгледаме резултатите от едноцифрено умножение: 1*1 = 1; 1*0=0 0*0=0. Всъщност всичко е просто, сега нека да разгледаме нещо по-сложно. Да вземем числата 101001 (41) и 1100 (12). Ще умножим по колона.

Ако от таблицата не става ясно как се е случило това, тогава ще се опитам да обясня с думи:

  1. Удобно е да умножавате двоични числа в колона, така че записваме втория фактор под първия, ако числата имат различен брой цифри, тогава ще бъде по-удобно, ако по-голям бройще бъде на върха.
  2. Следващата стъпка е да умножите всички цифри на първото число по най-малката цифра на второто число. По-долу записваме резултата от умножението, трябва да го напишем така, че под всяка съответна цифра да е записан резултатът от умножението.
  3. Сега трябва да умножим всички цифри на първото число по следващата цифра на второто число и да напишем резултата още един ред по-долу, но този резултат трябва да бъде изместен с една цифра наляво; ако погледнете таблицата, това е втората последователност от нули отгоре.
  4. Същото трябва да се направи за следващите цифри, като всеки път се мести с една цифра наляво и ако погледнете таблицата, можете да кажете, че една клетка наляво.
  5. Имаме четири двоични числа, които сега трябва да се добавят и да се получи резултатът. Наскоро разгледахме добавянето, не би трябвало да има проблеми.

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

Булеви алгебрични операции

Има две много важни концепции в булевата алгебра: вярно и невярно, чийто еквивалент е нула и единица в двоичната бройна система. Операторите на булевата алгебра разширяват броя на наличните оператори над тези стойности, нека ги разгледаме.

Логическа операция И или И

Логическата операция И или И е еквивалентна на умножаване на едноцифрени двоични числа.

1 И 1 = 1; 1 И 0 = 1; 0 И 0 = 0; 0 И 1 = 0.

1 И 1 = 1;

1 И 0 = 1;

0 И 0 = 0;

0 И 1 = 0.

Резултатът от „Логическо И“ ще бъде едно само ако и двете стойности са равни на едно; във всички останали случаи ще бъде нула.

Операция "Логическо ИЛИ" или ИЛИ

Операцията „Логическо ИЛИ“ или ИЛИ работи на следния принцип: ако поне една стойност е равна на единица, резултатът ще бъде единица.

1 ИЛИ 1 = 1; 1 ИЛИ 0 = 1; 0 ИЛИ 1 = 1; 0 ИЛИ 0 = 0.

1 ИЛИ 1 = 1;

1 ИЛИ 0 = 1;

0 ИЛИ 1 = 1;

0 ИЛИ 0 = 0.

Изключителна операция OR или XOR

Операцията "Изключително ИЛИ" или XOR ще ни даде резултат от единица само ако един от операндите е равен на единица, а вторият е равен на нула. Ако и двата операнда са равни на нула, резултатът ще бъде нула и дори и двата операнда да са равни на 1, резултатът ще бъде нула.