Hur man konverterar negativa tal till binära tal

Du har nästan säkert hört talas om negativa siffror. Om du ens har haft lite exponering för världen av datavetenskap och datorprogrammering, är begreppet binära tal inte helt främmande. Men om du inte har utforskat programmeringsvärlden personligen, har du förmodligen aldrig arbetat med binära tal.

Eftersom datorer inte kan ”tänka” eller ”bestämma” på egen hand utan kan följa beställda instruktioner med osviklig noggrannhet, kom matematiker för länge sedan på ett sätt för datorer (eller tillräckligt tålmodiga människor) att göra addition, subtraktion och andra matematiska operationer som endast använder siffrorna 0 och 1.

Men finns det något sätt att kombinera dessa två idéer för att producera negativa tal? Är det så enkelt som att säga åt en maskin att sticka en liten horisontell stapel framför ett befintligt nummer a la penna och papper, eller gör ”bitar och bytes”-faktorn saker mer involverade?

Vad är binära tal?

Datorer har en enorm mängd processorkraft, och även en gammal clunker kan utföra beräkningar på en takt som skulle verka obegriplig för även den mest aritmetiskt begåvade människan. Men de är inte hjärnor, och det enda sättet att få dem att hantera komplex information är att degradera allt möjligt till ett av två tillstånd, t.ex. PÅ eller AV.

I ”dator-ese” hänvisas till en enda 0 eller 1 som en bit. Grupper av dessa inkluderar nybble (4 bitar), brunnen -känd byte (8), den word ( 1) och långt ord (32).

De decimaltal som du vanligtvis ser, som 492 och 35, är ”bas-10”, eftersom de innehåller 10 progressiva symboler (siffrorna 0 till 9) som ”rullar över” till nästa plats åt vänster — nästa ”potens 10”. Binära tal innehåller istället bara två symboler (siffrorna 0 och 1) och är ”bas-2”. Varje drag åt vänster från slutet av talet är en ökande potens av två: Slutsiffrorna representerar 1, nästa 2, sedan 4, 8, 16 och så vidare.

Ett decimaltal är vilket tal som helst i bas-10-systemet, inte nödvändigtvis ett tal som innehåller en decimalkomma.

Exempel på binära tal

Den binära ”nybblet” 0101 har 1:or på 1-platsen och 4-platsen, och 0:or på 2- och 8-platsen. Därför är dess decimalekvivalent 1 + 4 = 5.

På liknande sätt motsvarar byten 1001 1100 128 + 16 + 8 + 4 (28+ 25 + 24+ 23) = 156.

Komplementet för ett binärt tal är bara talet med dess siffror ”växlade”. Till exempel, komplementet av 1001 1100 = 0110 0011.

Konvertera negativa tal till binära

Hur du omvandlar ett negativt decimaltal till ett binärt tal är förmodligen ganska olik andra numeriska omvandlingar du har utfört eftersom ditt sinne, trots all dess jämförande lättja, är mycket mer flexibelt på de flesta sätt än vilken CPU som helst. Det är dock en enkel process.

Omvandlingen görs med en tvåkomplement binär, vilket kräver att programmeraren instruerar datorn att tolka alla binära tal som börjar med 1 som negativa. Programmet

konstruerar sedan motsvarande positiva tal i binärt, tar dess komplement och lägger till ett.

Till exempel, givet talet −47, skulle datorn skapa det binära talet för +47: 0001 1111

Komplementet till detta är: 1110 0000

Att lägga till en till detta ger : 1110 0001

Notera att datorn har ”signerat” dessa siffror för att behandla en inledande 1:a som negativ och bearbeta resultaten på ett annat sätt än att bara lägga ihop potenserna av 2 som upptas av symbolen 1.

Lämna ett svar

Relaterade Inlägg

  • Högskoleprovets utmaningar – matematik

  • Hur man beräknar korrelationskoefficienter med en ekvation

  • Hur man beräknar volymer av femkantiga prismor

  • Hur man konverterar omkrets till diameter på en miniräknare

  • Hur man testar Chi-Square

  • Vilka är några egenskaper hos protein?