Slik konverterer binære tall til To Utfyller

Slik konverterer binære tall til To Utfyller


Tall i datamaskiner er i binært format --- bunnen 2 i stedet for den mer kjente basen 10 tall. I basen 10, er det antall fingre og tær for de fleste mennesker skrevet 20 --- som betyr 2 X 10 ^ 1 + 0 X 10 ^ 0. I binære tall denne samme nummeret er skrevet 10100, noe som betyr en X 2 ^ 4 + 0 X 2 ^ 3 + 1 X 2 ^ 2 + 0 X 2 ^ 1 + 0 X 2 ^ 0. Datamaskiner bruker binære tall fordi det er lettere å lage elektroniske og magnetiske enheter som kan være i to stater.

Bruksanvisning

1 Skriv alle data tall med samme antall siffer. Data tallene er alltid i ord minne eller i registre over ordlengde. Avhengig av datamaskinen, er et ord som regel 16, 32 eller 64 sifre. Positive tall er polstret på venstre med nuller for å gjøre opp et ord. Dette innebærer at den nest siste siffer vil være null hvis tallet er positivt. Hvis du økes tallet i et ord, når antallet blir stort nok til å gjøre helt til venstre sifret endring fra null til en, er en "overflow" feil hørtes --- som vanligvis stopper programmet. Gode ​​programmerere skrive i kontroller for å sikre at dette ikke skjer.

2 Endre positive tall til negative med enkel algoritme: snu alle sifrene og legge til 1. For eksempel i en 8 bits maskin, ville 20 være skrevet 0001 0100 og -20 ville være 1110 1011 + 1 = 1110 1100. En rask måte å verifisere dette på er å legge de to tallene: 0001 0100 + 1110 1100 = 0000 0000. Legg merke til at for negative tall, er den venstre biten 1. Hvis du minske et negativt tall, når du kommer til stedet der lengst til venstre siffer endringer fra 1-0, er en "underflow" feil hørtes, som vil stoppe programmet.

3 Utføre alle datamaskin aritmetikk med en kombinasjon av tilleggsvarme og komplemente. For å trekke A fra B, ta toere komplement av A for å få en så legge A til B. Å gjøre multiplikasjon, gjøre en rekke tilføyelser og endringer. For å gjøre divisjon gjøre en kombinasjon av subtractions og skift. To utfyller gjør det mulig å gjøre alt aritmetikk med en enhet som gjør tillegg --- pluss toere kompliment og skiftende.

Hint

  • Binary tillegg er faktisk mye enklere enn desimal tillegg. Det er bare fire regler: 0 + 0 = 0; 0 + 1 = 1; 1 + 0 = 1 og 1 + 1 = 10 --- null og bære en.
  • Det er en vanlig misforståelse at å konvertere en negativ til positiv algoritmen må være: snu alle sifrene og trekke 1. For å konvertere et negativt tall til positiv, bruke samme algoritme: snu alle sifrene og legge til 1. For å konvertere -20 til 20: snu sifrene i 1110 1100 og tilsett 1: 0001 0011 + 1 = 0001 0100.