Sådan opdeles binære tal

Forfatter: Mark Sanchez
Oprettelsesdato: 2 Januar 2021
Opdateringsdato: 1 Juli 2024
Anonim
Sådan opdeles binære tal - Samfund
Sådan opdeles binære tal - Samfund

Indhold

Binære tal kan opdeles i kolonner for bedre at forstå selve processen eller for at skrive et simpelt computerprogram. Du kan også bruge komplementmetoden, som sjældent bruges i programmering. Typisk bruger maskinsprog en scoringsalgoritme til at være mere effektiv, men det er ikke det, denne artikel handler om.

Trin

Metode 1 af 2: Lang division

  1. 1 Opdel efter kolonne to decimaltal. Hvis du har glemt den lange division, skal du dele to decimaltal (basis 10): 172 ÷ 4. Hvis lang division er god, skal du gå til det næste trin for at lære at dividere binære tal.
    • Udbytte divideret med skillevæg og det viser sig privat.
    • Sammenlign divisoren med det første ciffer i udbyttet. Hvis divisoren er større end dette ciffer, skal du sammenligne divisoren med to cifre i udbyttet og så videre, indtil divisoren er mindre end det pågældende tal. I vores eksempel sammenlign 4 og 1, bemærk at 4> 1, og sammenlign derefter 4 med 17.
    • Skriv det første ciffer i kvotienten under divisoren. Ved at sammenligne 4 og 17 vil du se, at 17 ÷ 4 = 4 med resten, så skriv 4 som det første ciffer i kvotienten under divisoren (4).
    • Multiplicer og træk for at finde resten. Multiplicer det første ciffer i kvotienten med divisoren; i vores eksempel: 4 x 4 = 16. Skriv 16 under 17, træk derefter 17 - 16 for at finde resten af ​​1.
    • Gentag sammenligningen. Sammenlign divisoren 4 med resten af ​​1, bemærk at 4> 1, og "bær" det næste ciffer i udbyttet for at sammenligne 4 med 12. Siden 12 ÷ 4 = 3 uden en rest, så skriv 3 som det andet ciffer i kvotienten. Det endelige svar er 43.
  2. 2 Kolonne deler to binære tal. For eksempel 10101 ÷ 11. Her er 10101 udbyttet og 11 er divisoren. Efterlad nok plads til beregninger.
  3. 3 Sammenlign divisoren med det første ciffer i udbyttet. I tilfælde af binære tal er dette lettere at gøre end med decimaltal: enten er tallet ikke delbart med divisoren, og vi skriver 0, eller det er delt, og vi skriver 1.
    • 11> 1, så 1 kan ikke divideres med 11. Skriv 0 som det første ciffer i kvotienten (under divisoren).
  4. 4 Fortsæt med at sammenligne divisortallene, indtil du får 1. I vores eksempel:
    • Sammenlign divisoren med de to cifre i udbyttet. 11> 10. Skriv 0 som det andet ciffer i kvotienten.
    • Sammenlign divisoren med de tre cifre i udbyttet. 11 101. Skriv 1 som det tredje ciffer i kvotienten.
  5. 5 Beregn resten. Multiplicer det fundne ciffer (1) med divisoren (11) og skriv resultatet under udbyttet (nemlig under de tilsvarende cifre). Bemærk, at multiplikation af 1 med en divisor altid resulterer i en divisor.
    • Skriv divisoren under udbyttet. I vores eksempel skriver du 11 under de tre første cifre (101) i udbyttet.
    • Træk 101 - 11 for at få resten af ​​10. Hvis du ikke kan huske, hvordan du trækker binære tal, skal du læse denne artikel.
  6. 6 Gentag de beskrevne trin, indtil du løser problemet. Tilføj det næste ciffer i udbyttet til resten for at få 100. Siden 11 100, skriv 1 som det fjerde ciffer i kvotienten. Yderligere beregninger:
    • skriv 11 under 100 og træk for at få resten af ​​1;
    • tilføj det sidste ciffer i udbyttet til resten for at få 11;
    • 11 = 11, så skriv 1 som det sidste ciffer i kvotienten.
    • Der er ingen rest, så problemet er løst. Svar: 00111 eller bare 111.
  7. 7 Tilføj et decimaltegn (hvis det er nødvendigt). Nogle gange er resultatet ikke et helt tal. Hvis du, efter at du har brugt det sidste ciffer i udbyttet, får en rest, tilføjer ", 0" til udbyttet og "," til kvoten, for at "nedrive" det næste ciffer og fortsætte beregningen. Gentag denne proces, indtil du får det ønskede resultat, og afrund derefter dit svar. For at afrunde dit resultat skal du slippe af med det sidste 0, eller hvis det sidste ciffer er 1, skal du slippe det og tilføje 1 til det nye sidste ciffer. Når du programmerer, skal du følge en af ​​standardafrundingsalgoritmerne for at undgå fejl ved konvertering mellem binære og decimaltal.
    • Deling af to binære tal kan resultere i en gentagende brøkdel; dette sker oftere end når man deler decimaltal.
    • Bemærk, at decimaltegnet ikke kun bruges i decimal, men også i binær notation.

Metode 2 af 2: Kosttilskud

  1. 1 Forstå de grundlæggende principper. For at dividere to tal (både decimal og binær) kan du trække divisoren fra udbyttet og derefter successivt trække divisoren fra resten, indtil du får et negativt tal; i dette tilfælde skal du tælle, hvor mange subtraktioner der er blevet udført. Beregn f.eks. 26 ÷ 7:
    • 26 - 7 = 19 (1 subtraktion)
    • 19 - 7 = 12 (2)
    • 12 - 7 = 5 (3)
    • 5-7 = -2. Et negativt tal, så du behøver ikke at trække yderligere fra. Svar: 3 med en rest på 5. Bemærk, at denne metode ikke beregner brøkdelen af ​​svaret.
  2. 2 Forstå det grundlæggende i tilføjelsesmetoden. Ovenstående metode kan anvendes på binære tal, eller du kan bruge en mere effektiv metode, der sparer tid, når du programmerer opdelingen af ​​binære tal. Denne metode kaldes komplementmetoden. Træk f.eks. 111 - 011 (begge tal skal have samme antal cifre):
    • Find supplementet til det andet tal. For at gøre dette skal du trække hvert ciffer i dette tal fra 1. I binært skal du bare erstatte 1 med 0 og 0 med 1. I vores eksempel bliver 011 100.
    • Tilføj 1: 100 + 1 = 101 til dit resultat. Denne proces kaldes tos komplement og giver dig mulighed for at erstatte subtraktion med addition. Grundlæggende er denne metode, at du tilføjer et negativt tal i stedet for at trække et positivt tal fra.
    • Føj resultatet til det første tal. Skriv ned og beregne additionsoperationen: 111 + 101 = 1100.
    • Slip det første ciffer i dit resultat for at få det endelige svar: 1100 → 100.
  3. 3 Kombiner de to metoder, der er beskrevet ovenfor. Den første metode er den sekventielle subtraktionsmetode, og den anden er de tos komplementmetode. Disse metoder kan kombineres til en til at bruge den til at opdele tal (processen med at kombinere metoder er beskrevet nedenfor). Hvis du vil, kan du prøve at finde ud af, hvordan du selv kombinerer de to metoder.
  4. 4 Træk divisoren fra udbyttet og erstat subtraktion med tos komplementstilsætning. For eksempel: 100011 ÷ 000101.Drej først subtraktionen 100011 - 000101 til tilføjelse ved hjælp af tos komplement:
    • To komplement: 000101 = 111010 + 1 = 111011
    • Tilføjelse: 100011 + 111011 = 1011110
    • Slip af med det første ciffer: 011110
  5. 5 Tilføj 1 til kvoten. I et computerprogram er dette en streng, hvor kvotienten øges med en. Noter på papir for at undgå forvirring. Du har med succes trukket fra en gang, så kvoten er 1 på dette tidspunkt.
  6. 6 Gentag den beskrevne proces. For at gøre dette skal du trække divisoren fra resten. Resten er resultatet af den sidste beregning. Udskift subtraktionsoperationen med addition: tilføj de to komplementdeler til resten, og slip derefter det første ciffer i resultatet. Efter hver subtraktion tilføjes 1 til kvotienten. Gentag ovenstående proces, indtil resten er lig med eller mindre end divisoren:
    • 011110 + 111011 = 1011001 → 011001 (kvot 1 + 1 = 10)
    • 011001 + 111011 = 1010100 → 010100 (kvotient 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 er mindre end 101, så det er ikke nødvendigt at beregne yderligere. Privat 111 er det endelige resultat af opdelingsoperationen. Resten er det endelige resultat af subtraktionsoperationen; i vores eksempel er det 0 (ingen rest).

Tips

  • Ignorer tegnbitten i signerede binære tal, medmindre du skal vide, om resultatet er positivt eller negativt.
  • De to komplementmetode gælder ikke, hvis tallene indeholder forskellige cifretal. I dette tilfælde skal du tilføje det tilsvarende tal 0 til det lavere tal (til venstre).
  • Instruktionerne for at øge, reducere eller pop stakken skal overvejes, før du anvender binære operationer på maskininstruktioner.