Kalkulator for tallsystem-konvertering
Konverter et heltall til binær, oktal, desimal og heksadesimal.
Slik bruker du denne kalkulatoren for tallbasekonvertering
- Skriv inn heltallet
Skriv inn et ikke-negativt heltall i feltet Heltall (f.eks. 255 eller 4096).
- Les den binære verdien
Det binære resultatet viser base-2-representasjonen.
- Sjekk oktal og heksadesimal
Se de oktale og heksadesimale resultatene for kompakte representasjoner.
- Bekreft desimal
Desimalresultatet bekrefter den opprinnelige verdien for kryssjekking.
Slik fungerer denne kalkulatoren for tallkonvertering
Denne kalkulatoren for tallkonvertering tar et heltall i desimalform (tallsystem 10) og representerer det i binær (tallsystem 2), oktal (tallsystem 8) og heksadesimal (tallsystem 16) — de fire tallsystemene som brukes mest i informatikk. Alle posisjonstallsystemer fungerer på samme måte: hver sifferposisjon representerer en suksessiv potens av grunntallet, og verdien av tallet er summen av hvert siffer multiplisert med dets posisjonsvekt. Konvertering mellom tallsystemer er en grunnleggende operasjon i lavnivåprogrammering, digital logikkdesign, nettverksteknikk (MAC- og IPv6-adresser), fargekoder i CSS, filrettighetsmasker i Unix og inspeksjon av minneadresser under feilsøking.
Gjentatt divisjon: divider N med målgrunntallet R, noter resten, gjenta med kvotienten til den når 0, og les deretter restene i omvendt rekkefølge Konverter desimaltallet 255 til binær, oktal og heksadesimal. For binær (R = 2): 255 ÷ 2 = 127 rest 1, 127 ÷ 2 = 63 R 1, 63 ÷ 2 = 31 R 1, 31 ÷ 2 = 15 R 1, 15 ÷ 2 = 7 R 1, 7 ÷ 2 = 3 R 1, 3 ÷ 2 = 1 R 1, 1 ÷ 2 = 0 R 1. Les restene nedenfra og opp: 11111111. For oktal (R = 8): 255 ÷ 8 = 31 R 7, 31 ÷ 8 = 3 R 7, 3 ÷ 8 = 0 R 3 → 377. For heksadesimal (R = 16): 255 ÷ 16 = 15 R 15 (F), 15 ÷ 16 = 0 R 15 (F) → FF.
Desimal 4096 → binær 1000000000000, oktal 10000, heksadesimal 1000. Nyttig for å forstå at 4 KiB = 4096 bytes.
Desimal 15 → binær 1111, oktal 17, heksadesimal F. Hvert heksadesimale siffer tilsvarer nøyaktig fire biter; F = 1111.
- ✓ Inndata er et ikke-negativt heltall (null eller positivt heltall). Desimalverdier og negative tall krever utvidede algoritmer (f.eks. toerkomplement for fortegnsbestemt binær) som faller utenfor dette verktøyets omfang.
- ✓ Heksadesimale sifre over 9 representeres med store bokstaver A–F, i tråd med konvensjonen i de fleste programmeringsspråk, RFC-er og maskinvaredokumentasjon.
- ✓ Ledende nuller utelates fra resultatet. For representasjoner med fast bredde (f.eks. 8-bit eller 32-bit binær), må resultatet fylles ut manuelt til ønsket bredde.
- ✓ Kalkulatoren godtar kun ikke-negative heltall. Verdier over 2^53 − 1 (JavaScripts Number.MAX_SAFE_INTEGER) avvises slik at de viste sifrene forblir nøyaktige.
- Hvert heksadesimale siffer tilsvarer nøyaktig fire binære sifre (bits), og hvert oktale siffer tilsvarer nøyaktig tre bits. Dette forholdet gjør hoderegning mellom heksadesimal, oktal og binær raskt når du har lært de 16 nibble-mønstrene.
- Vanlige verdier verdt å huske: 0xFF = 255, 0x100 = 256, 0xFFFF = 65535, 0xFFFFFFFF = 4 294 967 295 (det maksimale fortegnsløse 32-bit heltallet).
- Unix-filrettigheter bruker oktaltall: 755 betyr rwxr-xr-x (eier lese/skrive/kjøre, gruppe og andre lese/kjøre). Hvert oktale siffer koder tre rettighetsbiter.
- CSS-heksadesimale fargekoder er tre sammenslåtte heksadesimale byte-verdier som representerer rød, grønn og blå kanal – f.eks. er #FF8800 255 rød, 136 grønn, 0 blå.
- Teori om posisjonssystemer — Knuth, D. E., The Art of Computer Programming, Volume 2: Seminumerical Algorithms, Seksjon 4.1
- IEEE 754-2019 — Standard for flyttallsaritmetikk (kontekst for heltallsrepresentasjon)
- RFC 4291 — IP Version 6 Addressing Architecture (heksadesimal notasjon for IPv6)
Forstå tallsystemer i databehandling
Alle posisjonstallsystemer bruker et grunntall (radiks) og tildeler hvert siffer en vekt basert på dets posisjon. I titallsystemet (base 10) er sifferet lengst til høyre enere, det neste er tiere, deretter hundrere. Binærtall (base 2) bruker bare 0 og 1, noe som tilsvarer direkte til av/på-tilstander i transistorer. Oktaltall (base 8) grupperer tre biter per siffer, og heksadesimale tall (base 16) grupperer fire biter per siffer, ved bruk av A–F for verdiene 10–15. Konvertering mellom baser gjøres ved gjentatt divisjon: divider tallet med målradiksen, noter resten, gjenta med kvotienten til den blir null, og les deretter restene i omvendt rekkefølge. Denne algoritmen ligger til grunn for all basekonvertering i programmering.
Praktiske bruksområder for basekonvertering for utviklere
Utviklere bruker basekonvertering når de inspiserer minnedumper, feilsøker bitvise operasjoner, tolker filrettigheter og jobber med fargekoder. Unix-filrettigheter (f.eks. 755) er oktale: hvert siffer koder for lese/skrive/utføre for eier, gruppe og andre. CSS-heksfarger som #FF8800 er tre sammenslåtte bytes i heksadesimal form. IPv6-adresser skrives i heksadesimal. Bitmasker og flagg uttrykkes ofte i heksadesimal for lesbarhet (0xFF for en byte-maske, 0xFFFF for 16 biter). Ved feilsøking av lavnivåkode eller nettverksprotokoller vil konvertering mellom desimal, heksadesimal og binær raskt avsløre de underliggende bitmønstrene.
Ofte stilte spørsmål om tallbasekonvertering
Hvorfor brukes binære, oktale og heksadesimale tall i informatikk?
Binærtall tilsvarer direkte av/på-tilstandene til transistorer, noe som gjør det til maskinvarens morsmål. Oktale og heksadesimale tall er kompakt stenografi for binærtall – ett heksadesimalt siffer representerer nøyaktig fire biter og ett oktalt siffer representerer tre biter – slik at programmerere bruker dem til å uttrykke adresser, bitmasker og fargekoder mer konsist enn lange binære strenger.
Hvordan konverterer jeg i den andre retningen (f.eks. heksadesimal til desimal)?
Multipliser hvert siffer med grunntallets potens for den aktuelle posisjonen og summer resultatene. For eksempel: heksadesimal 1A3 = 1×16² + 10×16¹ + 3×16⁰ = 256 + 160 + 3 = 419 i desimaltall.
Hva skjer med veldig store tall?
Kalkulatoren godtar bare verdier opp til JavaScripts grense for sikre heltall: 2^53 − 1 (9 007 199 254 740 991). Større tall avvises fordi de kan miste de minst signifikante sifrene i nettleseren.
Kan jeg konvertere negative tall eller brøker?
Dette verktøyet håndterer ikke-negative heltall. Negative heltall i databehandling representeres vanligvis ved bruk av toerkomplement i en fast bitbredde, og brøkverdier bruker IEEE 754 flyttallskoding – begge krever tilleggsparametere som denne kalkulatoren ikke samler inn.
Hvorfor vises 0x-prefikset i kode, men ikke i resultatet?
0x-prefikset (og 0b for binær, 0o for oktal) er en språkspesifikk literal syntaks som forteller kompilatoren eller tolken hvilken base den skal forvente. Kalkulatoren viser den rå sifferstrengen uten prefiks, slik at den kan brukes i alle sammenhenger.