Utilia

Talsystem-omregner

Omregn tal mellem binært, oktalt, decimalt, hexadecimalt og ethvert grundtal fra 2 til 36, med tos komplement, brøker og udregning trin for trin.

Sådan omregner du et tal til et andet talsystem

  1. Skriv værdien i Tal, der skal omregnes. Du kan indsætte den med præfiks (0x, 0b, 0o), med mellemrum eller understregninger mellem cifergrupper, med minustegn og med en decimaldel efter et komma eller et punktum.
  2. Vælg Grundtal for input. De fire almindelige talsystemer har navne; alle grundtal fra 2 til 36 er tilgængelige.
  3. Vælg et Ekstra grundtal for output, hvis du også har brug for noget usædvanligt, for eksempel grundtal 36 til korte id’er eller grundtal 3 til en gåde.
  4. Tabellen Resultater opdateres, mens du skriver. Sæt kryds ved Gruppér cifre (eller fjern det) for at tilføje mellemrum for hver 4. binære eller hexadecimale ciffer og for hver 3. oktale eller decimale ciffer. Hver række har sin egen Kopiér-knap, som kopierer cifrene uden mellemrum.

Hele udregningen bruger JavaScripts BigInt, så der er ingen grænse for størrelsen, som er værd at bekymre sig om: et decimaltal med 200 cifre omregnes helt nøjagtigt, uden den afrunding, man får med almindelige flydende tal.

Sådan fungerer talsystemer

I et positionssystem ganges hvert ciffer med en potens af grundtallet. I decimalsystemet betyder 255 netop 2×10² + 5×10¹ + 5×10⁰. Binært (grundtal 2) er den samme værdi 11111111, oktalt (grundtal 8) 377 og hexadecimalt (grundtal 16) FF. Grundtal over 10 bruger bogstaver: A = 10, B = 11 … Z = 35, og derfor er 36 det største grundtal med det sædvanlige ciffersæt.

Hexadecimalt er populært blandt programmører, fordi ét hex-ciffer er præcis fire bit: FF er 1111 1111. Oktalt grupperer bits tre ad gangen, og derfor skrives Unix-rettigheder som 755 oktalt.

Trin for trin

Afsnittet Trin for trin viser udregningen, hvilket er nyttigt til lektier og eksamen:

  • Grundtal N → decimalt skriver heltalsdelens positionsværdier op, for eksempel 1011₂ = 1×2³ + 1×2¹ + 1×2⁰ = 8 + 2 + 1 = 11.
  • Decimalt → binært dividerer med 2 igen og igen. Resterne, læst fra den sidste til den første, er de binære cifre.
  • For en decimaldel ganger værktøjet gentagne gange med 2: hver heltalsdel (0 eller 1) bliver det næste binære ciffer efter kommaet. 0,625 giver 1,25 → 1, 0,5 → 0, 1,0 → 1, så 0,625 = 0,101₂.

Brøker, der aldrig slutter

Nogle brøker har ingen endelig form i et andet talsystem. 0,1 decimalt er 0,0001100110011… binært og gentager sig i det uendelige; derfor er 0.1 + 0.2 ikke nøjagtigt 0,3 i de fleste programmeringssprog. Værktøjet beregner brøker nøjagtigt som forhold og stopper efter Maks. antal decimaler. Når resultatet må afkortes, står det i rækken, så du altid ved, om en værdi er nøjagtig.

Tos komplement

Computere gemmer negative heltal som tos komplement: for et heltal på n bit gemmes −x som 2ⁿ − x. Tabellen Tos komplement (fortegnsbehæftede heltal) viser bitmønster og hex-værdi for 8, 16, 32 og 64 bit og hvordan det samme mønster læses i kolonnerne Læst uden fortegn og Læst med fortegn. For eksempel er −1 lig med 11111111 (FF) i 8 bit, og 200 indtastet som en byte uden fortegn læses som −56 som en byte med fortegn. Når en værdi ligger uden for en bredde (−128 til 255 for 8 bit), står der Passer ikke i rækken.

Ofte stillede spørgsmål

Hvordan indtaster jeg et negativt binært tal?

Skriv et minustegn: -1010 i grundtal 2 er −10. Har du allerede et tos komplement-mønster som 11110110, så indtast det som et positivt binært tal, og læs kolonnen Læst med fortegn for den bredde, du bruger.

Hvorfor vises bogstaverne med stort?

Store A–F er den mest almindelige skrivemåde for hexadecimalt. Input accepterer begge former; små og store cifre betyder det samme.

Kan jeg bruge komma som decimaltegn?

Ja. Hvis tallet ikke indeholder et punktum, læses et enkelt komma som decimaltegn, så 3,75 virker som 3.75.

Er der en grænse for tallets størrelse?

Input accepterer op til 10.000 tegn. Trinene vises kun for tal på op til 64 cifre, så siden bliver ved med at være overskuelig.

Hvad bruges grundtal 36 til?

Det bruger cifrene 0–9 og bogstaverne A–Z og giver den korteste gengivelse med alfanumeriske tegn. Det bruges ofte til kompakte identifikatorer og forkortede webadresser.