Spring til indholdet
Quaestio

Talsystemer

Skriv tallet i det grundtal, du går ud fra, så vises det i alle de almindelige systemer samtidig.

Samme tal i andre grundtal

  • Binært11111111
  • Oktalt377
  • Decimalt255
  • Hexadecimaltff
  • Eget grundtal 3673
2–36
Indlejr

Indlejr værktøjet på dit website

Kopiér koden, og indsæt den, hvor værktøjet skal vises, f.eks. i et blogindlæg eller på en skoleside. Det er gratis, boksen har ingen annoncer, og værktøjet regner i den besøgendes browser.

Sådan virker det

Et grundtal angiver, hvor mange cifre der bruges, før man går videre til næste position. Vi regner normalt i grundtal 10 med cifrene 0 til 9, mens computere arbejder i grundtal 2 med kun 0 og 1.

Hexadecimalt, grundtal 16, bruges til at forkorte binære tal. Fire binære cifre svarer nøjagtig til ét hexadecimalt, hvilket gør, at en byte altid kan skrives med to tegn, for eksempel ff for 255.

Cifre over ni skrives med bogstaver: a betyder 10, b betyder 11 og så videre op til z, der betyder 35 i grundtal 36.

Værktøjet regner med heltal af vilkårlig størrelse, så selv lange hexadecimale værdier beholder hvert ciffer.

Sådan regner værktøjet

Tallet læses ciffer for ciffer fra venstre: den værdi, man har indtil nu, ganges med grundtallet, og det næste ciffer lægges til. 7ea i grundtal 16 bliver 7, så 7 · 16 + 14 = 126 og til sidst 126 · 16 + 10 = 2.026. Den anden vej skrives tallet med browserens indbyggede omsætning, der bruger tegnene 0–9 og a–z, aldrig skriver foranstillede nuller og sætter et minustegn foran negative tal.

2.026 bliver 11111101010 binært, 3752 oktalt og 1ka i grundtal 36. Grundtal 36 er det højeste, fordi ti cifre og seksogtyve bogstaver giver 36 tegn. Ud over de fire almindelige grundtal viser listen et eget grundtal, som udgangspunkt 36, og knappen på hver linje kopierer tallet i netop det grundtal.

Hvad feltet godtager

Store og små bogstaver betyder det samme, og mellemrum og understreger mellem cifrene fjernes, så 1111_0000 i grundtal 2 er 240. Præfikser som 0x og 0b forstås ikke. I grundtal 16 afvises 0x1f, men i grundtal 36 er x et ciffer, og så læses den samme tekst som tallet 42.819. Foranstillede nuller forsvinder, så 00ff skrives ff.

Kun heltal kan regnes om, så et decimaltegn giver en fejlmeddelelse. Negative tal beholder minustegnet: −ff er −255 og −11111111 binært. Værktøjet viser altså ikke, hvordan en computer gemmer et negativt tal med et fast antal bit.

Baggrund

RFC 4648 kalder grundtal 16 for den almindelige hex-kodning og siger, at den ikke skelner mellem store og små bogstaver. Standardens alfabet har de store bogstaver A–F, mens JavaScript skriver små. Begge betyder det samme tal.

Almindelige tal i browseren rummer kun alle heltal præcist op til 2⁵³ − 1 = 9.007.199.254.740.991. Derfor regner værktøjet med heltalstypen BigInt, som ikke har nogen grænse. 2⁶⁴ = 18.446.744.073.709.551.616 bliver så præcis 10000000000000000 hexadecimalt, med seksten nuller.

Kilder

Sådan kontrolleres værktøjerne