Dela binära tal

Författare: Roger Morrison
Skapelsedatum: 6 September 2021
Uppdatera Datum: 1 Juli 2024
Anonim
ZAZ - Eblouie par la nuit (Clip officiel)
Video: ZAZ - Eblouie par la nuit (Clip officiel)

Innehåll

Att dela binära nummer kan lösas med hjälp av lång uppdelning, en praktisk metod för att lära dig själv proceduren eller skriva ett enkelt datorprogram. Alternativt erbjuder komplementmetoden för upprepad subtraktion ett tillvägagångssätt som du kanske inte känner till, men inte riktigt vanligt vid programmering. Maskinspråk använder vanligtvis en uppskattningsalgoritm för större effektivitet, men dessa beskrivs inte här.

Att gå

Metod 1 av 2: Använda lång uppdelning

  1. Gå igenom den decimala långa uppdelningen igen. Om det har gått ett tag sedan du har gjort lång uppdelning med vanliga decimaltal (bas 10), granska basen av den igen för problemet 172 ÷ 4. Annars hoppar du över detta och går till nästa steg för att lära dig denna procedur för binär tal.
    • Det utdelning divideras med divisor, och svaret är det kvot.
    • Jämför delaren med den första siffran i utdelningen. Om delaren är det största numret, fortsätt lägga till siffror i utdelningen tills delaren är det minsta numret. (Till exempel, när vi beräknar 172 ÷ 4, jämför vi 4 och 1, finner att 4> 1 och jämför sedan 4 med 17.)
    • Skriv den första siffran i kvoten ovanför den sista siffran i utdelningen som används för jämförelsen. Efter att ha jämfört 4 och 17 märker vi att 4 går in i 17 fyra gånger, så vi skriver 4 som den första siffran i vår kvot, ovanför 7.
    • Multiplicera och subtrahera för att hitta resten. Multiplicera kvoten med delaren, i detta fall 4 x 4 = 16. Skriv 16 nedanför 17, gör sedan 17 - 16 för resten, 1.
    • Upprepa. Återigen jämför vi delaren 4 med nästa siffra, 1, märker att 4> 1 och "tar ner" nästa siffra i utdelningen, för att jämföra 4 med 12 istället. 4 går in i 12 tre gånger utan rest, så vi kan skriva 3 som nästa siffra i kvoten. Svaret är 43.
  2. Skapa en binär långdivisionsinställning. Antag att vi använder 10101 ÷ 11 som exempel. Skriv detta som en lång division, med 10101 som utdelning och 11 som delare. Lämna utrymme ovan för att skriva kvoten och skriv dina beräkningar nedan.
  3. Jämför delaren med utdelningens första siffra. Detta fungerar på samma sätt som decimal lång uppdelning, men är faktiskt mycket lättare i binär form. Eller så kan du inte dela numret med delaren (0), eller så kan delaren passa in en gång (1):
    • 11> 1, så 11 "passar inte" 1. Skriv en 0 som den första siffran i kvoten (ovanför den första siffran i utdelningen).
  4. Ta nu nästa siffra och upprepa tills du får 1. Här är några steg från vårt exempel:
    • Ta ner nästa siffra i utdelningen. 11> 10. Skriv en 0 i kvoten.
    • Ta ner nästa siffra. 11 101. Skriv en 1 i kvoten.
  5. Bestäm resten. som i en decimal lång division multiplicerar vi siffran vi just hittade (1) med delaren (11) och skriver resultatet under vår utdelning på en linje med siffran vi just beräknade. I binär form kan vi göra detta snabbare, eftersom 1 x delaren alltid är lika med delaren:
    • Skriv delaren under utdelningen. Här skriver vi detta som 11 under de tre första siffrorna (101) i utdelningen.
    • Beräkna 101 - 11 för resten, 10. Granska hur man subtraherar binära tal om du inte kommer ihåg det.
  6. Fortsätt tills problemet är löst. Ta med nästa siffra från delaren till resten nedan för att få 100. Eftersom 11 100 skriver du en 1 som nästa siffra i kvoten. Fortsätt att lösa problemet som tidigare:
    • Skriv 11 under 100 och subtrahera dessa siffror för att få 1.
    • Ta ner den sista siffran i utdelningen så får du 11 för svaret.
    • 11 = 11, så skriv 1 som kvotens sista siffra (svaret).
    • Det finns ingen återstod, så problemet är slutfört. Svaret är 00111, eller enklare, 111.
  7. Lägg till en radixpunkt om det behövs. Ibland är resultatet inte ett heltal. Om du fortfarande har en rest efter att ha använt den sista siffran, lägg till ett ".0" i utdelningen och ett "." till din kvot så att du kan ta ner ytterligare ett nummer och gå vidare. Fortsätt göra detta tills du når önskad noggrannhet och slutför sedan svaret. På papper kan du avrunda genom att utelämna 0 eller, om den sista siffran är en 1, ta bort den och lägga till 1 till den sista siffran. När du programmerar, använd en av standardavrundningsalgoritmerna för att undvika fel vid konvertering mellan binära och decimaltal.
    • Att dela binära tal resulterar ofta i att decimaler upprepas, oftare än de som förekommer i decimalformat.
    • Detta hänvisas till med den mer allmänna termen "radix-punkt" som du stöter på i vilket nummersystem som helst, eftersom du bara stöter på "decimalpunkten" inom decimalsystemet.

Metod 2 av 2: Använd komplementmetoden

  1. Förstå grundidén. Ett sätt att lösa uppdelningar - för vilken bas som helst - är att fortsätta subtrahera delaren från utdelningen, sedan resten, räkna hur många gånger du kan fortsätta göra detta innan du kommer till ett negativt tal. Här är ett exempel på bas 10, problemet 26 ÷ 7:
    • 26 - 7 = 19 (subtraherad en gång)
    • 19 - 7 = 12 (subtraherat 2 gånger)
    • 12 - 7 = 5 (subtraherat 3 gånger)
    • 5 - 7 = -2. Negativt antal, så upp igen. Svaret är 3 med resten av 5. Observera att denna metod inte tar decimaler.
  2. Lär dig att subtrahera med komplement. Även om du enkelt kan använda ovanstående metod på binära nummer, kan vi också använda en mer effektiv metod som sparar tid när du programmerar binära divisioner. Detta kallas metoden för binär komplement. Här är basen, beräknar 111 - 011 (se till att båda siffrorna är lika långa):
    • Hitta komplementet till den andra termen och dra varje siffra från 1. Du kan enkelt göra detta med binära tal genom att ställa in var 1 till 0 och var 0 till 1. I vårt exempel blir 011 100.
    • Lägg till 1 i resultatet: 100 + 1 = 101. Detta kallas 2-komplementet. Vi kommer nu att betrakta en subtraktion som ett tillägg. Kärnan är att vi behandlar problemet som om vi lägger till ett negativt tal i stället för att subtrahera ett positivt tal efter att ha avslutat proceduren.
    • Lägg till resultatet i den första perioden. Lös tillägget: 111 + 101 = 1100.
    • Utelämna den första siffran (bärsiffra). Ta bort den första siffran från ditt svar för att få det slutliga resultatet. 1100 → 100.
  3. Kombinera de två begreppen ovan. Nu vet du hur subtraktionsmetoden för att lösa divisionssummor fungerar och 2: s komplementmetod för att lösa subtraktionssummor.Du kan kombinera de två i en metod för att lösa divisionssummor med hjälp av stegen nedan. Om du vill kan du försöka lista ut det själv innan du fortsätter.
  4. Subtrahera delaren från utdelningen genom att lägga till 2: s komplement. Låt oss göra problemet: 100011 ÷ 000101. Det första steget är att lösa 100011 - 000101 med hjälp av 2: s komplementmetod, så att den lägger till:
    • 2: s komplement av 000101 = 111010 + 1 = 111011
    • 100011 + 111011 = 1011110
    • Utelämna den första siffran (bär) → 011110
  5. Lägg till 1 i kvoten. I ett datorprogram är det punkten där du ökar kvoten med 1. På papper gör du en anteckning någonstans i ett hörn där den inte förstör resten av ditt arbete. Vi har framgångsrikt gjort en subtraktion en gång, så kvoten hittills är 1.
  6. Upprepa detta genom att subtrahera delaren från resten. Resultatet av vår sista beräkning är resten som återstår efter att delaren "går in" en gång. Fortsätt lägga till delarens 2-komplement och subtrahera bärningen. Lägg till 1 i kvoten varje gång och fortsätt tills du får en återstod som är lika med din mindre delare:
    • 011110 + 111011 = 1011001 → 011001 (kvot 1 + 1 = 10)
    • 011001 + 111011 = 1010100 → 010100 (kvot 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 är mindre än 101, så nu kan vi sluta. Kvoten 111 är svaret på det partiella problemet. Resten är det slutliga resultatet av vår subtraktion, i detta fall 0 (ingen vila).

Tips

  • Instruktionerna för ökning, minskning eller stapling bör övervägas innan en binär beräkning tillämpas på en uppsättning maskininstruktioner.
  • 2: s komplementmetod för subtraktion fungerar inte om siffrorna består av ett annat antal siffror. Lägg till extra nollor till det mindre numret för att lösa detta.
  • Ignorera den signerade siffran i signerade binära nummer innan du gör beräkningen, förutom när du försöker avgöra om ett svar är positivt eller negativt.