Hvordan beregne Big Endian heltall

Hvordan beregne Big Endian heltall


Big-endian heltall er binære tall og noen ganger kjedelig å jobbe med, men å være i stand til å forstå innholdet er viktig for å bygge grunnleggende forståelse i informatikk eller elektroteknikk.

Begrepet "big-endian" stammer fra Jonathan Swifts bok, "Gullivers reiser". Det er to stridende riker, rasende motsetning over hvilken ende av et hardkokt egg bør forbrukes først. De som tror et egg er best spist fra den større enden er "big-endian", mens deres motstandere er "lille-endian." I binære, refererer det til som binære steder kommer først: de fleste eller minst signifikante bit.

Bruksanvisning

Bestem en Big-Endian Integer sin verdi

1 Bestem formatet på nummeret ditt. Hvis nummeret representerer en "signert heltall", som kan lagre både positive og negative verdier, er det i et format som heter "toerkomplement." Dersom den representerer en "usignert heltall," som bare kan representere positive verdier, kreves det litt mindre manipulering.

2 Skriv ned nummeret ditt. Hvis din er en signert heltall i toer-komplement representasjon, se på venstre biten. Hvis det er 0 eller nummeret er et usignert heltall, går du videre til neste trinn og fortsette som om det var et usignert heltall, som den representerer en positiv verdi.

Hvis det er en, erstatte det litt med negativt fortegn. Deretter snu alle de gjenværende biter, bytte 1-0, og 0 til 1. Deretter legger en til høyre mest bit, bokførte verdier om nødvendig. Disse bitene representerer omfanget av nummeret ditt. For eksempel, hvis det viser seg å være -42, disse bitene representerer nå den "42" delen.

3 Skriv verdien av hver av bitene under hver en i nummeret ditt. Den lengst til høyre bit er 1 spalter, akkurat som med desimaltall. Kolonnen til venstre er to kolonne, og til venstre for det, 4 spalte. Hver gang du flytter til venstre, verdien av denne kolonnen er det dobbelte av forrige kolonne. Så flytter sammen på denne måten, skriver verdien av kolonnen hvis det er en 1, og ingenting om det er en 0. For eksempel 01101011 ville ha tallene 64, 32, 8, 2 og 1 under.

4 Sum tallene du skrev under 1 bits. For vårt eksempel fra forrige trinn, vil vi få 64 + 32 + 8 + 2 + 1 = 107. Denne summen er verdien av big-endian heltall. Husk at hvis nummeret ditt er signert, og du har til å snu bitene, så denne mengden er negativ.

Hint

  • Arbeide med binære tall er utsatt for feil, så bør du vurdere å bruke et program for å hjelpe. Hvis du bruker Mac, har innebygd kalkulator app en "Programmer Mode" som gjør det mulig å invertere toerkomplementet tall og innspill i binær eller desimal og konvertere.