Как да конвертирате в десетичен знакдробно число

Виталий Потопахин

Двоична аритметика

Числата, които сме свикнали да използваме, се наричат ​​десетични, а аритметиката, която използваме, също се нарича десетична. Наричат ​​се така, защото всяко число може да бъде съставено от набор от числа, съдържащи 10 знака - числа - "0123456789".

Исторически се случи така, че именно този набор стана основният при писане на числа, но десетичната аритметика не е единствената. Ако вземем само пет цифри, тогава на тяхна основа можем да изградим петцифрена аритметика, от седем цифри - седмица. В областите на знанието, свързани с компютърните технологии, често се използва аритметика, при която числата са съставени от шестнадесет цифри, съответно тази аритметика се нарича шестнадесетична. За да разберете какво е число в недесетичната аритметика, първо си спомнете какво е число в десетичната аритметика.

Вземете например числото 246. Нотацията му означава, че в числото има две стотици, четири десетици и шест единици. Следователно можем да запишем следното равенство:

246 = 200 + 40 + 6 = 2 * 10 2 + 4 * 10 1 + 6 * 10 0

Тук знаците за равенство разделят три начина за запис на едно и също число. За нас най-интересна е третата форма на писане: 2 * 10 2 + 4 * 10 1 + 6 * 10 0. Построен е така:

Имаме три номера. Най-високата цифра "2" има числото 3. Така че тя се умножава по 10 на втора степен. Следващата цифра "4" е с пореден номер 2 и се умножава по 10 на първа степен. Вече се вижда, че цифрите се умножават по десет на степен едно по-малко от поредния номер на цифрата. След като сме разбрали казаното, можем да запишем общата формула за представяне на десетично число. Нека има число с N цифри. Ще обозначимi-та цифра през ai. Тогава числото може да се запише в следната форма: anan-1….a2a1. Това е първият формуляр, а третият формуляр за влизане ще изглежда така:

където ai е символ от набора "0123456789"

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

където ai е знак от набора "012345"

Като цяло заместваме 10 с всяко друго число и получаваме напълно различна бройна система и различна аритметика. Най-простата аритметика се получава чрез замяна на 10 с 2. Получената бройна система се нарича двоична и числото в нея се определя по следния начин:

където ai е символ от набора "01"

Тази система е най-простата от всички възможни, тъй като в нея всяко число се формира само от две цифри 0 и 1.

Примери за двоични числа: 10, 111, 101.

Много важен въпрос.Може ли двоично число да бъде представено като десетично число и обратно, може ли десетично число да бъде представено като двоично число.

Двоично към десетично. Много е просто. Вземете, например, следното двоично число 1011. Нека го разгънем на степени на две. Получаваме:

1001 = 1 * 2 3 + 0 * 2 2 + 0 * 2 1 + 1 * 2 0

Извършваме всички записани действия и получаваме:

1 * 2 3 + 0 * 2 2 + 0 * 2 1 + 1 * 2 0 = 8 + 0+ 0 + 1 = 9.

Така получаваме, че 1011 (двоично) = 9 (десетично). Веднага можете да видите леко неудобство на двоичната система. Това число, което в десетичната система се записва с един знакдвоична система, за нейния запис са необходими четири знака. Но това е цена, която трябва да се плати за простотата в други неща (нищо не идва безплатно). Двоичната система дава огромна печалба в аритметичните операции. По-долу ще разгледаме този въпрос подробно.

Упражнение.Представете следните двоични числа като десетично число: a) 10010 b) 11101 c) 1010 c) 1110 d) 100011 e) 1100111 f) 1001110

Двоично добавяне

Нека разгледаме метода на добавяне в "колона" (същия като при десетичното число).

Събирането в десетичната система се извършва малко по малко, като се започне с най-малката цифра. Ако при събиране на две цифри СУМАТА е по-голяма от десет, тогава се записва числото 9, а СУМАТА МИНУС ДЕВЕТ се добавя към следващата по значимост цифра. (Добавете няколко числа в колона, запомнете как се прави това.)

Двоичните числа се добавят по същия начин.

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

- Ако сумата е равна на 0 или 1 - се записва в дадения бит на числото - сумата,

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

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

Помислете запример : 10011 + 10001.

Първа цифра:1+1 = 2. Записваме 0 и 1 „хрумна ми“.

Втора цифра: 1+0+1 (запаметена единица) =2. Записваме 0 и „1 дойде на ум“.

Трета цифра: 0+0+1(запаметена единица) = 1. Напишете 1.

Четвърта цифра:0+0=0. Записваме 0.

Пета цифра:1+1=2. Пишем 0 и добавяме шестия бит 1.

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

10011 = 1*2 4 + 0*2 3 + 0*2 2 + 1*2 1 + 1*2 0 = 16 + 2 + 1 =19

10001 = 1*2 4 + 0*2 3 + 0*2 2 + 0*2 1 + 1*2 0 = 16 + 1 = 17

100100 = 1*2 5 + 0*2 4 + 0*2 3 + 1*2 2 + 0*2 1 + 0*2 0 =32+4=36

17 + 19 = 36 - правилно равенство

Упражнения за самостоятелно решаване:

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

Как да конвертирате десетично число в двоично. Сега следващата операция е на свой ред - изваждане. Но ние ще се занимаваме с тази операция малко по-късно и сега ще разгледаме метод за преобразуване на десетично число в двоично.

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

Първа стъпка. 2 2 \u003d 4, това не е достатъчно. Също така е малко и 2 3 \u003d 8, а 2 4 \u003d 16 вече е много. Така че нека оставим 2 3 =8. 12 - 8 = 4. Сега трябва да представите 4 като степен на две.

Стъпка втора. 4 = 2 2 .

Тогава нашето число 12 = 2 3 + 2 2 . Най-високата цифра има числото 4, най-високата степен = 3, следователно трябва да има термини със степен две 1 и 0. Но ние не се нуждаем от тях, следователно, за да се отървем от ненужните степени и да оставим необходимите, ние пишем числото така: 1*2 3 + 1*2 2 +0*2 1 + 0*2 0 = 1100 - това е двоичното представяне на числото 12. е най-голямото степен на две, която е по-малка от числото, което се разширява.

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

Стъпка 1. Най-близката степен на две е 2 4 = 16. 23 -16 = 7.

Стъпка 2. Най-близката степен на две е 2 2 = 4. 7 - 4 = 3

Стъпка 3. Най-близката степен на две е 2 1 = 2. 3 - 2 = 1

Стъпка 4. Най-близката степен на две 2 0 =1 1 - 1 =0

Получаваме следното разлагане: 1*2 4 + 0*2 3 +1*2 2 +1*2 1 +1*2 0

Желаното двоично число е 10111

Разгледаният по-горе метод дава добро решение на проблема, но има метод, който е много по-добре алгоритмизиран. Алгоритъмът за този метод е написан по-долу:

Докато NUMBER е по-голямо от нула, направете

СЛЕДВАЩА ЦИФРА \u003d остатък от деленето на ЧИСЛОТО на 2

ЧИСЛО = цяла част от ЧИСЛО, разделено на 2

Когато този алгоритъм завърши работата си, поредицата от изчислени РЕГУЛЯРНИ ЦИФРИ ще представлява двоично число. Например, нека работим с числото 19.

Начален НОМЕР на алгоритъма = 19

СЛЕДВАЩА ЦИФРА = 1

СЛЕДВАЩА ЦИФРА = 1

СЛЕДВАЩА ЦИФРА = 0

СЛЕДВАЩА ЦИФРА = 0

СЛЕДВАЩА ЦИФРА = 1

Резултатът е числото 10011. Имайте предвид, че двата разглеждани метода се различават по реда, в който се получават следващите цифри. При първия метод първата получена цифра е най-високата цифра на двоичното число, а при втория метод първата получена цифра, напротив, е най-ниската.

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

а) 14 б) 29 в) 134 г) 158 е) 1190 г) 2019 г.

Как да конвертирате дробната част в десетична.

Известно е, че всяко рационално число може да бъде представено като десетична и обикновена дроб. Обикновена дроб, тоест дроб от формата A / B, може да бъде правилна и неправилна. Дробта се нарича правилна, ако A B.

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

Правило за точност. Да предположим, че ви е дадено десетично число, което може да бъде представено като десетична дроб до N цифри. За да бъде съответното двоично число със същата точност, в него трябва да се изпишат M - символи, така че

А сега нека се опитаме да получим правилото за превод и първо да разгледаме примера 5401

Ще получим цялата част според вече известните ни правила и тя е равна на двоичното число 101. И разширяваме дробната част на степени на 2.

Стъпка 1:2 -2 = 0,25; 0,401 - 0,25 = 0,151. е остатъкът.

Стъпка 2:Сега трябва да представим 0,151 като степен на две. Нека направим следното: 2 -3 = 0,125; 0,151 - 0,125 = 0,026

Така първоначалната дробна част може да бъде представена като 2 -2 +2 -3 . Същото може да се запише в такова двоично число: 0,011. Първата дробна цифра е нула, това е така, защото степента 2 -1 отсъства в нашето разширение.

От първата и втората стъпка става ясно, че това представяне не е точно и може да е желателно разширяването да продължи. Да се ​​върнем на правилото. Казва, че имаме нужда от толкова много знаци на М, така че 10 3 да е по-малко от 2 М. Това са 1000 млн. Тоест при двоично разлагане трябва да имаме поне десет знака, тъй като 2 9 \u003d 512 и само 2 10 \u003d 1024. Нека продължим процеса.

Стъпка 3:Сега работим с числото 0,026. Най-близката степен на две до това число е 2 -6 \u003d 0,015625; 0,026 - 0,015625 = 0,010375 сега нашето по-точно двоично число е 0,011001. Има шест след десетичната запетаязнаци, но това все още не е достатъчно, така че извършваме още една стъпка.

Стъпка 4:Сега работим с числото 0,010375. Най-близката степен на две до това число е 2 7 \u003d 0,0078125;

0,010375 - 0,0078125 = 0,0025625

Стъпка 5:Сега работим с числото 0,0025625. Най-близката степен на две до това число е 2 -9 \u003d 0,001953125;

0,0025625 - 0,001953125 = 0,000609375

Последният получен остатък е по-малък от 2 -10 и ако искаме да продължим да се доближаваме до първоначалното число, тогава ще ни трябва 2 -11, но това вече надвишава необходимата точност и следователно изчисленията могат да бъдат спрени и окончателното двоично представяне на дробната част може да бъде записано.

0,401 = 0,011001101

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

Нека напишем алгоритъма за трансформация:

Началните данни на алгоритъма: Буквата А ще означава оригиналната правилна десетична дроб, записана в десетична форма. Нека тази дроб съдържа N знака.

Алгоритъм

Действие 1. Определете броя на необходимите двоични знаци M от неравенството 10 N M

Стъпка 2: Изчислете цифрите на двоичното представяне (цифрите след нулата). Номерът на цифрата ще бъде обозначен със символа K.

1. Цифра номер = 1

След това добавяме нула към нотацията на двоичното число

§ добавете 1 към записа на двоично число

§ тогава работата на алгоритъма е завършена

§ В противен случай преминете към точка 2.

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

а) 3,6 б) 12,0112 в) 0,231 г) 0,121 д) 23,0091

Двоично изваждане

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

Първа цифра.1 - 0 =1. Записваме 1.

Втора цифра0 -1. Липсва единица. Взимаме го в старша категория. Единицата от най-високата цифра отива към най-младата, като две единици (тъй като най-високата цифра е представена от две с по-голяма степен) 2-1 = 1. Записваме 1.

Трета цифра. Ние заехме единицата на тази цифра, така че сега в цифра 0 има нужда да заемем единицата на най-значимата цифра. 2-1=1. Записваме 1.

Нека проверим резултата в десетичната система

1101 - 110 = 13 - 6 = 7 (111) Истинско равенство.

Друг интересен начин за извършване на изваждане е свързан с концепцията за допълнение на две, което ви позволява да намалите изваждането до събиране. Оказва се, че числото в допълнителния код е изключително просто, вземаме оригиналното число и заменяме нулите с единици в него, обратното, заменяме единиците с нули и добавяме единица към най-малката цифра. Например за числото 10010 допълнителният код ще бъде 011011.

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

Пример: 34 - 22 = 12

Нека напишем този пример в двоична форма. 100010 - 10110 = 1100

Допълнителният код за числото 10110 ще бъде:

01001 + 00001 = 01010.

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

100010 + 01010 = 101100.

След това трябва да изхвърлите една единица в най-високия ред. Ако направим това, получаваме 001100. Изхвърляме незначителните нули и получаваме 1100, тоест примерът е решен правилно