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

Автор: Mark Sanchez
Дата На Създаване: 2 Януари 2021
Дата На Актуализиране: 1 Юли 2024
Anonim
Adding two 16-bit binary numbers
Видео: Adding two 16-bit binary numbers

Съдържание

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

Стъпки

Метод 1 от 2: Дълго разделяне

  1. 1 Разделете по колона две десетични числа. Ако сте забравили дългото деление, разделете две десетични (основни 10) числа: 172 ÷ 4. Ако дългото деление е чудесно, преминете към следващата стъпка, за да научите как да разделяте двоични числа.
    • Дивидент разделена на разделител и се оказва частни.
    • Сравнете делителя с първата цифра на дивидента. Ако делителят е по -голям от тази цифра, сравнете делителя с две цифри на дивидента и така нататък, докато делителят е по -малък от въпросното число. В нашия пример сравнете 4 и 1, обърнете внимание, че 4> 1 и след това сравнете 4 със 17.
    • Напишете първата цифра на частното под делителя. Сравнявайки 4 и 17, ще видите, че 17 ÷ 4 = 4 с остатък, така че напишете 4 като първата цифра на частното под делителя (4).
    • Умножете и извадете, за да намерите остатъка. Умножете първата цифра на частното с делителя; в нашия пример: 4 x 4 = 16. Напишете 16 под 17, след което извадете 17 - 16, за да намерите остатъка от 1.
    • Повторете сравнението. Сравнете делителя 4 с остатъка от 1, имайте предвид, че 4> 1, и "пренесете" следващата цифра от дивидента, за да сравните 4 с 12. Тъй като 12 ÷ 4 = 3 без остатък, така че напишете 3 като втората цифра на коефициента. Окончателният отговор е 43.
  2. 2 Колоната разделя две двоични числа. Например 10101 ÷ 11. Тук 10101 е дивидентът, а 11 е делителят. Оставете достатъчно място за изчисления.
  3. 3 Сравнете делителя с първата цифра на дивидента. В случай на двоични числа, това е по -лесно да се направи, отколкото с десетични числа: или числото не се дели на делителя и пишем 0, или е разделено и пишем 1.
    • 11> 1, така че 1 не може да бъде разделено на 11. Напишете 0 като първата цифра на частното (под делителя).
  4. 4 Продължавайте да сравнявате числата на делителя, докато не получите 1. В нашия пример:
    • Сравнете делителя с двете цифри на дивидента. 11> 10. Напишете 0 като втора цифра на частното.
    • Сравнете делителя с трите цифри на дивидента. 11 101. Напишете 1 като третата цифра на частното.
  5. 5 Изчислете остатъка. Умножете намерената цифра (1) с делителя (11) и запишете резултата под дивидента (а именно под съответните цифри). Имайте предвид, че умножаването на 1 с делител винаги води до делител.
    • Напишете делителя под дивидента. В нашия пример напишете 11 под първите три цифри (101) на дивидента.
    • Извадете 101 - 11, за да получите остатъка от 10. Ако не помните как да извадите двоични числа, прочетете тази статия.
  6. 6 Повторете описаните стъпки, докато не разрешите проблема. Добавете следващата цифра от дивидента към остатъка, за да получите 100. От 11 100 напишете 1 като четвърта цифра на частното. Допълнителни изчисления:
    • напишете 11 под 100 и извадете, за да получите остатък от 1;
    • добавете последната цифра от дивидента към остатъка, за да получите 11;
    • 11 = 11, така че напишете 1 като последната цифра на частното.
    • Няма остатък, така че проблемът е решен. Отговор: 00111 или само 111.
  7. 7 Добавете десетична точка (ако е необходимо). Понякога резултатът не е цяло число. Ако след като сте използвали последната цифра на дивидента, получавате остатък, добавете „, 0“ към дивидента и „,“ към коефициента, за да „разрушите“ следващата цифра и да продължите изчислението. Повторете този процес, докато получите желания резултат, след което закръглете отговора си. За да закръглите резултата си, отървете се от последната 0 или ако последната цифра е 1, пуснете я и добавете 1 към новата последна цифра. При програмиране следвайте един от стандартните алгоритми за закръгляване, за да избегнете грешки при преобразуването между двоични и десетични числа.
    • Разделянето на две двоични числа може да доведе до повтаряща се дробна част; това се случва по -често, отколкото при разделяне на десетични числа.
    • Моля, обърнете внимание, че десетичната запетая се използва не само в десетична, но и в двоична нотация.

Метод 2 от 2: Добавки

  1. 1 Разберете основните принципи. За да разделите две числа (десетично и двоично), можете да извадите делителя от делителя и след това последователно да извадите делителя от остатъците, докато получите отрицателно число; в този случай трябва да преброите колко изваждания са извършени. Например, изчислете 26 ÷ 7:
    • 26 - 7 = 19 (1 изваждане)
    • 19 - 7 = 12 (2)
    • 12 - 7 = 5 (3)
    • 5-7 = -2. Отрицателно число, така че не е нужно да изваждате допълнително. Отговор: 3 с остатък от 5. Обърнете внимание, че този метод не изчислява дробната част от отговора.
  2. 2 Разберете основите на метода на добавяне. Горният метод може да се приложи към двоични числа или можете да използвате по -ефективен метод, който спестява време при програмиране на разделянето на двоични числа. Този метод се нарича метод на комплемента. Например, извадете 111 - 011 (и двете числа трябва да имат еднакъв брой цифри):
    • Намерете допълнението към второто число. За да направите това, извадете всяка цифра от това число от 1. В двоичен код просто заменете 1 с 0 и 0 с 1. В нашия пример 011 става 100.
    • Добавете 1: 100 + 1 = 101 към вашия резултат. Този процес се нарича допълване на две и ви позволява да замените изваждането с добавяне. По принцип този метод е, че добавяте отрицателно число, вместо да изваждате положително.
    • Добавете резултата към първото число. Запишете и изчислете операцията на събиране: 111 + 101 = 1100.
    • Пуснете първата цифра от резултата си, за да получите окончателния отговор: 1100 → 100.
  3. 3 Комбинирайте двата метода, описани по -горе. Първият метод е методът на последователно изваждане, а вторият е методът на допълване на двете. Тези методи могат да бъдат комбинирани в един, за да се използват за разделяне на числата (процесът на комбиниране на методи е описан по -долу). Ако искате, опитайте се да разберете как да комбинирате двата метода сами.
  4. 4 Извадете делителя от дивидента, като замените изваждането с допълване на две. Например: 100011 ÷ 000101.Първо, превърнете изваждането 100011 - 000101 в добавяне, като използвате допълнение на две:
    • Допълнение на две: 000101 = 111010 + 1 = 111011
    • Допълнение: 100011 + 111011 = 1011110
    • Отървете се от първата цифра: 011110
  5. 5 Добавете 1 към частното. В компютърна програма това е низ, където коефициентът се увеличава с единица. Направете бележка на хартия, за да избегнете объркване. Успешно сте извадили веднъж, така че коефициентът е 1 в този момент.
  6. 6 Повторете описания процес. За да направите това, извадете делителя от остатъка. Остатъкът е резултат от последното изчисление. Заменете операцията за изваждане с добавяне: добавете делителя на комплемента на двама към остатъка и след това се отървете от първата цифра на резултата. След всяко изваждане добавете 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 (без остатък).

Съвети

  • Игнорирайте бита за знак в подписани двоични числа, освен ако не трябва да знаете дали резултатът е положителен или отрицателен.
  • Методът за допълване на двете не се прилага, ако числата съдържат различен брой цифри. В този случай добавете съответното число 0 към по -ниското число (вляво).
  • Инструкциите за увеличаване, намаляване или изскачане на стека трябва да бъдат взети предвид преди прилагане на двоични операции към машинни инструкции.