Как да конвертирате в десетичен знакдробно число
Виталий Потопахин
Двоична аритметика
Числата, които сме свикнали да използваме, се наричат десетични, а аритметиката, която използваме, също се нарича десетична. Наричат се така, защото всяко число може да бъде съставено от набор от числа, съдържащи 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, тоест примерът е решен правилно