/tallsystem

Tallsystem-konverterer: binær, oktal, hex, desimal

Konverter tall mellom binær (2), oktal (8), desimal (10) og heksadesimal (16), med støtte for svært store tall.

Slik fungerer det

Skriv et tall i ett av feltene, så regnes det om til desimal, binær, oktal og heksadesimal samtidig. Verktøyet bruker heltall med vilkårlig størrelse (BigInt), så svært store tall fungerer også. Ugyldige sifre for valgt grunntall markeres. Alt regnes lokalt i nettleseren.

Om dette verktøyet

Tallsystem-konverteren gjør om tall mellom binært (base 2), oktalt (base 8), desimalt (base 10) og heksadesimalt (base 16), samt egendefinerte baser fra 2 til 36. Nyttig når du jobber med bitmasker, Unix-rettigheter, farger i CSS, minneadresser, IPv6 eller lavnivå-protokoller. Verktøyet håndterer også fortegnede tall med to-komplement, viser bitmønsteret og lar deg se hvordan tallet ser ut i alle fire vanlige baser samtidig. Kalkulering foregår i nettleseren, ingen data sendes til server.

Slik bruker du det

  1. Skriv inn tallet i det formatet du kjenner (dec, hex, bin eller oct).
  2. Verktøyet viser automatisk verdien i alle andre baser.
  3. Bruk «egen base»-feltet for baser mellom 2 og 36 (f.eks. base 32 for Crockford).
  4. Aktiver to-komplement hvis du jobber med fortegnede 8-, 16-, 32- eller 64-bits heltall.

Eksempler

Desimal til hex
Inn255
UtBIN: 11111111 OCT: 377 HEX: FF
Unix-rettigheter
Innchmod 755
UtBIN: 111 101 101 = rwx r-x r-x
Oktalt tallsystem passer perfekt for Unix-rettigheter fordi hvert siffer koder tre bit (rwx).
To-komplement 8-bit
Inn-1
UtBIN: 11111111 HEX: FF (som fortegnet 8-bit = -1)

Vanlige bruksområder

  • Konvertere Unix-rettigheter mellom oktale koder og rwx-notasjon.
  • Regne ut CSS-farger fra hex til rgb() og tilbake.
  • Debugge protokoller og filformater ved å lese binære bitmønstre.
  • Konvertere heksadesimale minneadresser i C, Rust eller Assembly.
  • Undervise datavitenskap-elever i talls representasjon.

Ofte stilte spørsmål

Hvor stort tall kan verktøyet håndtere?
Vi bruker BigInt, så tall opp til flere tusen sifre støttes uten presisjonstap. Vanlige JavaScript-tall (Number) er begrenset til 2^53, men BigInt har ingen praktisk øvre grense.
Hva er to-komplement?
Standard-representasjon for negative heltall i datamaskiner. Man inverterer alle bit og legger til 1. -1 blir dermed 11111111 i 8-bit, som er samme bitmønster som 255 unsigned. All aritmetikk fungerer korrekt på tvers av fortegn med samme add/sub-instruksjoner.
Hvorfor bruker programmerere hex fremfor bin?
Ett hex-siffer koder nøyaktig 4 bit (0–F = 0000–1111), så en byte skrives som to lettleste tegn (FF), mens binært krever åtte (11111111). Hex er kortere, lettere å lese høyt, og enkelt å konvertere til/fra bit for hånd.
Kan jeg konvertere flyttall?
Dette verktøyet håndterer bare heltall. For IEEE 754-flyttall (float32/float64) trenger du et eget verktøy som viser mantisse, eksponent og fortegn separat. Vi vurderer å legge til det.

Teknisk bakgrunn

Talls representasjon: I basis b bruker vi sifrene 0 til b-1, og hver posisjon representerer en potens av b. Desimal (b=10) er standard for mennesker fordi vi har 10 fingre. Datamaskiner bruker binært (b=2) fordi transistorer har to stabile tilstander (av/på). Oktalt (b=8) og heksadesimalt (b=16) er bekvemme kortformer siden 8 = 2³ og 16 = 2⁴, slik at en gruppe binære sifre kan skrives som ett hex- eller okt-siffer. For baser over 10 brukes bokstavene A–Z: A=10, B=11, ..., Z=35, som gjør at man maks kan skrive base 36 med ASCII. Base 32 (Crockford) og base 64 er populære for URL-vennlige IDer, mens base 58 (Bitcoin) og base 62 er brukt i shortener-tjenester. To-komplement er algoritmen for signerte tall: bit-mønsteret x tolkes som positivt hvis høyeste bit er 0, ellers negativt med verdi x - 2ⁿ der n er antall bit. Fordelen er at addisjon og subtraksjon fungerer identisk uansett fortegn, mens 1-komplement (invertere bit) trenger separat karryhåndtering.