Du og jeg vokste opp med å telle fra en til ti. Datamaskiner teller imidlertid litt annerledes. De bruker et annet numerisk system, kalt binært, for å holde oversikt over data. Men hva betyr det, og hva er meningen med det hele?

Hvordan teller vi?

Alle de største tallsystemene i verden er "positional". Dette betyr at verdien av et tall bestemmes av hvor i nummeret det vises. Vi kaller dette "sted" -verdien, og det hjelper med å bestemme størrelsen på et tall. For eksempel er desimalsystemet vi alle kjent med bruker de ti, hundre og tusen steder for å angi hvor mye en enkelt "2" er verdt. Hvis "2" er i hundrevis av plass (som i "200"), er verdien høyere enn de samme 2 i den samme plasseringen (som i "2").

Det var imidlertid ikke alltid slik. Denne måten å representere verdi på er en noe moderne oppfinnelse. Det krever bruk av null som plassholder, og null ble bare oppfunnet for 4000 år siden. Derfor bruker eldre tallsystemer som romersk tallrike og egyptiske hieroglyfer ikke plass. I stedet legger du opp verdien av alle "tallene" for å komme til den endelige verdien.

Ved å bruke dette grunnleggende konseptet med posisjonsverdi, har vi opprettet forskjellige tallsystemer eller måter å skrive tall på. Numerale systemer er oppkalt etter antall inkrementer per sted. Når vi sier trinn, mener vi hvor mange ganger du kan øke verdien av et enkelt sted før du "bærer" den verdien til neste sted. For eksempel, i base-ti kan vi øke de som plasseres ni ganger, med ti forskjellige sifre (teller null), før vi må bære verdien over til de samme stedene.

Forskjellen mellom desimal, binær og hexadecimal

Som barn ble du lært å regne med fingrene dine. Ti fingre, ti tall. For å telle høyere enn ti kan du holde en finger mens du teller opp på de andre. Dette er grunnlaget for basis-ti- eller desimalnummersystemet. Det er tallsystemet du bruker hver dag, og det er grunnlaget for folk flestes forståelse av den numeriske verden.

Datamaskiner kan imidlertid ikke bruke base-ten. Maskinvaren som kreves for å representere en base-ti-verdi på maskinvarenivået, vil være enormt komplisert. I stedet bruker datamaskiner binær, eller base-to, for å telle. I binær er det bare to tall: ett og null. Hvert "sted" har også forskjellige verdier. Det laveste stedet er de, så to, fire, eights, sixteens og så videre. Verdien av hvert sted er to ganger verdien av det forrige stedet. For å evaluere et binært tall s desimalekvivalenter, multipliserer hvert tall med sin plassverdi og legger alle resultatene sammen. Dette er faktisk det samme du gjør når du vurderer et base-ti nummer, men du gjør det så fort at du overser prosessen.

Hexadecimal er forskjellig fra binær og desimal. Den bruker base-seksten, noe som betyr at det er seksten forskjellige sifre som kan vises på et enkelt sted. Siden vi bare har ti tall på vårt felles språk bruker vi de seks første bokstavene (A, B, C, D, E, F) til å angi tall 10 til 15. Du kan kanskje gjenkjenne dette formatet fra fargekoder som brukes i webdesign . Når den brukes i databehandling, blir den ofte prefixed med 0x å indikere at følgende streng skal tolkes som et heksadesimale nummer. Hver plassverdi er seksten ganger større enn forrige plassverdi, som begynner med de samme stedene.

Konklusjon: Hvorfor bruke forskjellige numeriske systemer?

Det ville sikkert være praktisk hvis vi kunne bruke ett talesystem for alt. Dessverre har hvert tall system sin egen hensikt, så vi sitter fast ved å bruke mer enn en.

Decimal er den mest kjente for menneskelige operatører, og den deles av nesten alle kulturer på jorden. Det gjør det til en standard telleordning for menneskelig kommunikasjon. Ingen overraskelse der.

Datamaskiner kan imidlertid ikke telle i desimal. Deres kretser kan bare representere ett av to tilstander: PÅ eller AV. Det gjør dem til en naturlig passform for binær, som har to tilstander: ett og null. Null representerer selvsagt av, mens man representerer.

Hexadecimal er mer av et kanten tilfelle. Den brukes primært som en praktisk måte å representere binære verdier for menneskelige operatører. En enkelt stedverdi i heksadesimale representerer fire biter minne. Det betyr at to steder representerer åtte biter, eller en byte. Derfor ser du heksadesimale som brukes til å representere verdien av minneregistre. Biten størrelsen gjør den til en naturlig passform, og det er lettere å lese enn en streng av dem og nuller.