Съдържание
Проблемите с разделяне на двоични числа могат да бъдат решени на ръка или с помощта на проста компютърна програма. Алтернативно, допълващият метод на многократно изваждане осигурява подход, който може да не сте запознат, но малко използван в програмирането. Езиците за програмиране обикновено използват по-ефективен алгоритъм за оценка, но тази тема не е разгледана в тази статия.
Стъпки
Метод 1 от 2: Използване на Long Division
- Прегледайте как да направите десетично деление на ръка. Ако не сте правили ръчно десетично деление (основа десет) от известно време, прегледайте основите, като използвате пример 172 ÷ 4. В противен случай преминете към следващата стъпка и научете същия процес за двоични числа.
- НА дивидент се разделя на разделител, а резултатът е коефициент.
- Сравнете делителя с първата цифра на дивидента. Ако е по-голям, продължете да добавяте цифри към дивидента, докато делителят е най-малкото число. Например, за да изчислите 172 ÷ 4, сравнете 4 и 1; имайте предвид, че 4> 1, след това сравнете 4 до 17.
- Напишете първата цифра на коефициента над последната цифра на дивидента, сякаш го използвате при сравнението. Когато сравнявате 4 и 17, обърнете внимание, че 4 отговаря на числото 17 четири пъти, така че напишете 4 като първото факторно число, над 7.
- Умножете и извадете, за да намерите останалото. Умножете частното число по делителя; в този случай 4 x 4 = 16. Напишете 16 под 17, след това извадете 17 - 16, за да получите останалите, 1.
- Повторете. Отново сравнете делител 4 със следващата цифра, 1. Обърнете внимание, че 4> 1, след това "намалете" следващата цифра на дивидента, за да сравните 4 с 12. Четиримата се вписват точно (без остатък) три пъти в числото 12, след това напишете 3 като следващото частно число. Отговорът е 43.
-
Настройте проблема с разделянето на двоичното число на ръка. Нека използваме пример 10101 ÷ 11. Задайте задачата за разделяне, като 10101 е дивидентът, а 11 е делителят. Оставете място отгоре, за да напишете коефициента, а отдолу, за да направите изчисленията. - Сравнете делителя с първата цифра на дивидента. Това работи по същия начин като задача за разделяне на ръка с десетични числа, но всъщност е по-лесно с двоични числа. От двете: или не е възможно да се раздели число на делител (0), или делителят може да се използва веднъж (1):
- 11> 1, така че 11 не се побира в 1. Напишете 0 като първата цифра на коефициента (над първата цифра на дивидента).
-
Превъртете до следващата цифра и повтаряйте, докато получите числото 1. Вижте следващите стъпки за използвания пример:- Намалете следващата цифра на дивидента. 11> 10. Запишете 0 в частното.
- Намалете следващата цифра. 11 <101. Напишете 1 в частното.
- Намери останалото. Както при разделянето на ръка на десетични числа, е необходимо новоустановената цифра (1) да се умножи с делителя (11) и да се запише резултатът под дивидента, подравнен с новоизчислената цифра. В двоичен файл е възможно да се използва пряк път, тъй като 1 x делителят винаги ще бъде равен на делителя:
- Напишете делителя под дивидента. В този случай напишете 11 подравнени под първите три цифри (101) на дивидента.
- Изчислете 101 - 11, за да получите останалото, 10. Вижте Как да извадите двоични числа, ако имате нужда от помощ.
-
Повторете до края на проблема. Намалете следващата цифра на делителя до останалата част, за да образувате числото 100. Като 11 <100 напишете числото 1 като следващата цифра в частното. Продължете да изчислявате проблема по същия начин както преди:- Напишете 11 под 100 и извадете, за да получите 1.
- Намалете следващата цифра на дивидента.
- 11 = 11, така че напишете 1 като последната цифра на коефициента (отговорът).
- Няма почивка, така че проблемът е пълен. Отговорът е 00111или просто 111.
- Използвайте точка, ако е необходимо. Понякога резултатът не е пълен. Ако все още има остатък след използване на последната цифра, добавете ".0" към дивидента и "." към коефициента, за да можете да изтеглите друга цифра и да продължите. Повтаряйте, докато достигнете желаната конкретност и закръглете отговора. На хартия можете да закръглите, като изрежете последното 0; или ако последната цифра е 1, изтеглете я и добавете 1 към последната цифра. При програмирането следвайте един от стандартните алгоритми за закръгляване, за да избегнете грешки при преобразуване на двоично число в десетично.
- Обикновено проблемите с разделянето на двоични числа завършват с повтарящи се дробни части - по-често, отколкото с десетични.
- Той е известен като "дробна точка", прилагана към всяка основа, тъй като "десетичният разделител" се използва само в десетичната система.
Метод 2 от 2: Използване на допълнителния метод
- Разберете основната концепция. Един от начините за решаване на проблеми с делението - на каквато и да е основа - е да продължите да изваждате делителя от дивидента, а след останалото, да записвате колко пъти това е направено, преди да получите отрицателно число. Вижте пример в деление на основата десет: 26 ÷ 7:
- 26 - 7 = 19 (изважда се 1 път)
- 19 - 7 = 12 (2)
- 12 - 7 = 5 (3)
- 5 - 7 = -2. Когато получите отрицателно число, върнете се една стъпка назад. Отговорът е 3 с остатък 5. Имайте предвид, че този метод не изчислява нездравословни части от отговора.
- Научете се да изваждате от добавките. Въпреки че е възможно горният метод да се използва лесно в двоични числа, има по-ефективен метод, който спестява време при програмиране на компютрите за тяхното разделяне. Това е методът на изваждане чрез допълнения. Вижте основите при изчисляване на 111 - 011 (и двете числа трябва да имат еднакъв брой цифри):
- Намерете допълненията на 1 към втория член, като извадите всяка цифра от 1. Това може лесно да бъде направено в двоичната система, като промените всяка 1 за 0 и всяка 0 за 1. В използвания пример 011 става 100.
- Добавете 1 към резултата: 100 + 1 = 101. Такива са двете допълнения и те позволяват изваждане като проблем за събиране. Резултатът е сякаш добавяте отрицателно число, вместо да изваждате положително в края на процеса.
- Добавете резултата към първия член. Напишете и решете задачата за добавяне: 111 + 101 = 1100.
- Изхвърлете допълнителната цифра. Изхвърлете първата цифра от отговора, за да получите крайния резултат. 1100 → 100.
- Комбинирайте двете концепции по-горе. Вече научихте метода на изваждане за изчисляване на задачи за деление и двата допълващи се метода за решаване на задачи за изваждане. Знайте, че е възможно да ги комбинирате в нов метод за изчисляване на задачи за разделяне. Вижте как да го направите в стъпките по-долу. Ако предпочитате, опитайте се да го разберете сами, преди да продължите.
- Извадете делителя от дивидента, като добавите допълнението от две. Нека да разгледаме проблема 100011 ÷ 000101. Първата стъпка, използваща метода на две допълнения, е да направим изваждането като проблем за събиране:
- Допълнението на две от 000101 = 111010 + 1 = 111011
- 100011 + 111011 = 1011110
- Изхвърлете допълнителната цифра → 011110.
- Добавете 1 към коефициента. В компютърна програма това е точката, при която коефициентът се увеличава с единица. На хартията си направете бележка някъде, за да не се бъркате със сметките. Изваждането е извършено веднъж успешно; така че засега коефициентът е 1.
- Повторете изваждането на делителя от останалото. Резултатът от последното изчисление е останалата част от делението след еднократно използване на делителя. Продължете да добавяте допълнението от две към делителя всеки път, като изхвърляте допълнителната цифра. Всеки път добавяйте 1 към коефициента, като повтаряте процеса, докато получите остатък, равен на или по-малък от делителя:
- 011110 + 111011 = 1011001 → 011001 (коефициент1 + 1 = 10)
- 011001 + 111011 = 1010100 → 010100 (коефициент 10 + 1 = 11)
- 010100 + 111011 = 1001111 → 001111 (11+1=100)
- 001111 + 111011 = 1001010 → 001010 (100+1=101)
- 001010 + 111011 = 10000101 → 0000101 (101+1=110)
- 0000101 + 111011 = 1000000 → 000000 (110+1=111)
- 0 е по-малко от 101, така че можем да спрем до тук. Фактор 111 е отговорът на проблема с разделянето. Останалото е окончателният отговор на задачата за изваждане; в този случай 0 (без остатък).
Съвети
- Методът за допълване с две изваждания няма да работи при числа с различен брой цифри. За да коригирате това обаче, добавете нули към числото с по-малко цифри.
- Пренебрегнете подписаната цифра в подписани двоични числа преди изчислението, освен когато е необходимо да се определи дали отговорът е положителен или отрицателен.
- Инструкции за увеличаване, намаляване или премахване на елемент от стека с номера трябва да бъдат обмислени, преди да се правят двоични изчисления на набор от машинни инструкции.