Hvordan en datamaskin Utfør subtraksjon?

Datamaskiner gjøre akkurat hva navnet antyder: de beregne matematiske innspill. Datamaskiner utføre beregninger som i sin tur blir brukt til å utføre de mange kompliserte funksjoner som datamaskiner betjener. Mens dataprogrammer kan utføre mange avanserte beregninger, på en jernnivå datamaskiner kan bare gjøre noen grunnleggende typer av matematiske operasjoner. For å trekke, må en datamaskin legge til et nummer til et annet negativt tall, og gjøre det gjennom binær notasjon.

Binary Math

På det mest grunnleggende nivå av en datamaskin, er alle handlinger og operasjoner utføres på binære tall. Binære representasjoner av tall består av enere (1) og nuller (0) aranged på en slik måte som å stå på for desimaltall. For eksempel, for å legge tallene fire og fem, ville datamaskinen ta den binære representasjon av hvert nummer (fire = 0100, fem = 0101) og legge dem i henhold til binær notasjon:

0100 4
0101 5

1001 9

Computer Gates

På nivået av maskinvare, er alle operasjoner håndteres gjennom samspillet av signaler som passerer gjennom ulike logiske og matematiske porter, som tar input og produserer dokumentet basert på innspill og porttype. For matematiske operasjoner, finnes bare én type gate: tilsetting dato. Siden du har bare et tillegg gate, for å utføre andre operasjoner som subtraksjon, datamaskinen bare legger et tall til et negativt tall. For eksempel, for å trekke 4 fra 9 (9-4), vil datamaskinen faktisk legger -4 til 9 (9 + (-4)).

Binary subtraksjon

Som alle matte i en datamaskin er gjort binært, vil de grunnleggende operasjoner for subtraksjon innebærer å tilsette et negativt binært tall til et positivt eller negativt binært tall. Men binære tall til vanligvis ikke finnes i negative termer. En datamaskin arbeider i binært er heller ikke i stand til å bare sette et minustegn foran et heltall. I stedet må en spesifikk form for transformasjon på et binært tall forekommer før det kan betraktes som negative. Denne transformasjonen blir kalt "toerkomplementet" (Kilde 2).

Toerkomplementet

For å kunne omdanne et binært tall til dens negative motstykke, følger maskinen en to-trinns prosess. Den første er å snu alle sifrene i et binært tall fra 0 til 1 eller 1 til 0 (kilde 1). Deretter trekker du en fra dette nummeret. At antallet er nå negativ. I det følgende eksempel, vil datamaskinen subtrahere et åtte-bits binærtall (12) fra en annen 8-bits tall (36) ved å bytte til 12 sin negative versjon, og tilsette de to tall (kilde 2). Dette er egentlig hvordan en datamaskin utfører subtraksjon:

0010 0100 36
0000 1100 12

Toerkomplementet:
1111 0011 + 1 = 1111 0100 = -12

0010 0100 36
+1111 0100 -12

0001 1000 24