Hur man delar upp binära siffror
Binära divisionsproblem kan lösas med lång division, vilket är en användbar metod för att undervisa processen till dig själv eller skriva ett enkelt datorprogram. Alternativt ger komplementmetoden för upprepad subtraktion ett tillvägagångssätt som du kanske inte är bekant med, även om det inte är lika vanligt i programmering. Maskinspråken använder generellt en uppskattningsalgoritm för större effektivitet, men dessa beskrivs inte här.
Steg
Metod 1 av 2:
Använda lång uppdelning1
Recension Decimal Long Division. Om det har varit ett tag sedan du gjorde länge division med vanliga decimaler (bas tio) siffror, granska grunderna med hjälp av problemet 172 ÷ 4. Annars, hoppa vidare till nästa steg för att lära sig samma process i binär.
- De utdelning är dividerat med divisor, och svaret är kvot.
- Jämför divisor till den första siffran i utdelningen. Om divisor är det större numret, fortsätt att lägga siffror i utdelningen tills divisor är det mindre numret. (Till exempel, om beräkning av 172 ÷ 4, skulle vi jämföra 4 och 1, notera att 4 > 1, och jämför 4 till 17 istället.)
- Skriv den första siffran i kvoten ovanför den sista utdelningssiffran du använde i jämförelsen. Att jämföra 4 och 17 ser vi att 4 går in i 17 fyra gånger, så vi skriver 4 som den första siffran i vår kvotient, ovanför 7.
- Multiplicera och subtrahera för att hitta resten. Multiplicera kvotensiffralen med divisoren, i det här fallet 4 x 4 = 16. Skriv de 16 under 17, sedan subtrahera 17-16 för att hitta resten, 1.
- Upprepa. Återigen jämför vi divisor 4 med nästa siffra, 1, notera att 4 > 1, och "ta ner" Nästa siffra i utdelningen, att jämföra 4 med 12 istället. 4 går in i 12 tre gånger med ingen rest, så vi skriver 3 som nästa siffra av kvoten. Svaret är 43.
2. Ställ in det binära långa divisionsproblemet. Låt oss använda exemplet 10101 ÷ 11. Skriv detta som ett långt divisionsproblem, med 10101 som utdelningen och 11 som divisor. Lämna utrymme ovan för att skriva kvoten och nedan för att skriva dina beräkningar.
3. Jämför divisor till den första siffran i utdelningen. Detta fungerar precis som ett decimaltimativt divisionsproblem, men det är faktiskt ganska lättare i binärt. Antingen kan du inte dela upp numret av divisor (0) eller divisören kan gå på en gång (1):
4. Tack på nästa siffra och upprepa tills du får en 1. Här är nästa par steg till vårt exempel:
5. Hitta resten. Som i decimal lång uppdelning multiplicerar vi siffran vi just hittat (1) med divisor (11) och skriv resultatet under vår utdelning i linje med den siffra vi just beräknat. I binär kan vi genväg så, eftersom 1 x divisor alltid är lika med divisoren:
6. Upprepa tills problemet är klart. Ta ner nästa siffra av divisören till resten för att göra 100. Sedan 11 < 100, skriv en 1 som nästa siffra av kvoten. Fortsätt problemet som tidigare:
7. Lägg till en radix punkt om det behövs. Ibland är resultatet inte ett heltal. Om du fortfarande har en återstod efter att du har använt den sista siffran, lägg till en ".0" till utdelningen och a "." till din kvoten, så du kan ta ner en annan siffra och fortsätta. Upprepa tills du når önskad specificitet, sedan runt svaret. På papper kan du runda ner genom att hugga av den sista 0, eller om den sista siffran är en 1, släpp den och lägg till 1 till den nya sista siffran. Vid programmering följer du en av de vanliga algoritmerna för avrundning för att undvika fel när man konverterar mellan binära och decimaler.
Metod 2 av 2:
Med hjälp av komplementmetoden1. Förstå det grundläggande konceptet. Ett sätt att lösa uppdelningsproblem - i någon bas - är att fortsätta subtrahera divisor från utdelningen, då resten, medan du tar upp antalet gånger du kan göra det innan du får ett negativt tal. Här är ett exempel i basen tio, löser problemet 26 ÷ 7:
- 26 - 7 = 19 (subtraherad 1 tid)
- 19 - 7 = 12 (2)
- 12 - 7 = 5 (3)
- 5 - 7 = -2. Negativt antal, så tillbaka upp. Svaret är 3 med en återstod av 5. Observera att den här metoden inte beräknar någon icke-heltal av svaret.
2. Lär dig att subtrahera med komplement. Medan du enkelt kan använda metoden ovan i binär kan vi också subtrahera med en effektivare metod som sparar tid när programmeringsdatorer ska dela med sig av binära siffror. Det här är subtraktion genom kompletteringsmetod i binär. Här är grunderna, beräkna 111 - 011 (se till att båda siffrorna är lika långa):
3. Kombinera de två begreppen ovan. Nu känner du till subtraktionsmetoden för att lösa uppdelningsproblem och TWOS-komplementmetoden för att lösa subtraktionsproblem. Du kan kombinera detta i en metod för att lösa uppdelningsproblem, med hjälp av stegen nedan. Om du vill, kan du försöka hitta det själv innan du fortsätter.
4. Subtrahera divisor från utdelningen, genom att lägga till TWOS-komplement. Låt oss gå igenom problemet 100011 ÷ 000101. Det första steget löser 100011 - 000101, med hjälp av TWOS-komplementmetoden för att göra det till ett tilläggsproblem:
5. Lägg till en till kvoten. I ett datorprogram är det den punkt där du ökar kvoten med en. På papper, gör en anteckning någonstans i ett hörn där det inte blir förvirrad med ditt andra arbete. Vi har framgångsrikt subtraherat en gång, så kvoten hittills är 1.
6. Upprepa genom att subtrahera divisor från resten. Resultatet av vår senaste beräkning är resten kvar efter divisören "gick in" en gång. Fortsätt lägga till TWOS-komplementet av divisören varje gång och kassera bärbiten. Lägg till en till kvoten varje gång, upprepa tills du får en återstod som är lika med eller mindre än din divisor:
Video
Genom att använda den här tjänsten kan viss information delas med YouTube.
Tips
Ignorera den signerade siffran i signerade binära siffror innan du beräknar, förutom vid bestämning av huruvida svaret är positivt eller negativt.
TWOS-komplementmetoden för subtraktion fungerar inte om ditt nummer har olika siffror. Lägg till initial nollor till det mindre numret för att fixa det här.
Anvisningarna till ökning, minskning eller pop Stacken måste beaktas innan du applicerar någon binär matematik till en maskininstruktion.
Dela på det sociala nätverket: