Разделяне на двоични числа

Автор: Roger Morrison
Дата На Създаване: 6 Септември 2021
Дата На Актуализиране: 1 Юли 2024
Anonim
Арифметические действия в двоичной системе счисления
Видео: Арифметические действия в двоичной системе счисления

Съдържание

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

Стъпвам

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

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

Метод 2 от 2: Използване на метода на комплемента

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

Съвети

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