Tallsystemer
Skriv tallet i det grunntallet du går ut fra, så vises det i alle de vanlige systemene samtidig.
Samme tall i andre grunntall
- Binært11111111
- Oktalt377
- Desimalt255
- Heksadesimaltff
- Eget grunntall 3673
Slik fungerer det
Et grunntall sier hvor mange sifre som brukes før man går videre til neste posisjon. Vi regner vanligvis i grunntall 10 med sifrene 0 til 9, mens datamaskiner arbeider i grunntall 2 med bare 0 og 1.
Heksadesimalt, grunntall 16, brukes til å korte ned binære tall. Fire binære sifre tilsvarer nøyaktig ett heksadesimalt, noe som gjør at en byte alltid kan skrives med to tegn, for eksempel ff for 255.
Sifre over ni skrives med bokstaver: a betyr 10, b betyr 11 og så videre opp til z, som betyr 35 i grunntall 36.
Verktøyet regner med heltall av vilkårlig størrelse, så selv lange heksadesimale verdier beholder hvert siffer.
Slik regner verktøyet
Tallet leses siffer for siffer fra venstre: verdien så langt ganges med grunntallet, og neste siffer legges til. 7ea i grunntall 16 blir 7, så 7 · 16 + 14 = 126 og til sist 126 · 16 + 10 = 2 026. Den andre veien skrives tallet med nettleserens innebygde omforming, som bruker tegnene 0–9 og a–z, aldri skriver innledende nuller og setter et minustegn foran negative tall.
2 026 blir 11111101010 binært, 3752 oktalt og 1ka i grunntall 36. Grunntall 36 er det høyeste, fordi ti sifre og tjueseks bokstaver gir 36 tegn. I tillegg til de fire vanlige grunntallene viser lista et eget grunntall, fra start 36, og knappen på hver linje kopierer tallet i akkurat det grunntallet.
Hva feltet godtar
Store og små bokstaver betyr det samme, og mellomrom og understrek mellom sifrene fjernes, så 1111_0000 i grunntall 2 er 240. Prefikser som 0x og 0b forstås ikke. I grunntall 16 avvises 0x1f, men i grunntall 36 er x et siffer, og da leses den samme teksten som tallet 42 819. Innledende nuller forsvinner, så 00ff skrives ff.
Bare heltall kan gjøres om, så et desimaltegn gir en feilmelding. Negative tall beholder minustegnet: −ff er −255 og −11111111 binært. Verktøyet viser altså ikke hvordan en datamaskin lagrer et negativt tall med et fast antall biter.
Bakgrunn
RFC 4648 kaller grunntall 16 den vanlige heksadesimale kodingen og sier at den ikke skiller mellom store og små bokstaver. Alfabetet i standarden har de store bokstavene A–F, mens JavaScript skriver små bokstaver. Begge betyr det samme tallet.
Vanlige tall i nettleseren rommer alle heltall eksakt bare opp til 2⁵³ − 1 = 9 007 199 254 740 991. Derfor regner verktøyet med heltallstypen BigInt, som ikke har noen grense. 2⁶⁴ = 18 446 744 073 709 551 616 blir da nøyaktig 10000000000000000 heksadesimalt, med seksten nuller.