Talsystem-omregner
Konverter et heltal til binær, oktal, decimal og heksadecimal.
Sådan bruger du denne talsystem-konverter
- Indtast heltallet
Indtast et ikke-negativt heltal i feltet Heltal (f.eks. 255 eller 4096).
- Læs den binære værdi
Det binære resultat viser base-2-repræsentationen.
- Tjek oktal og hex
Gennemse de oktale og hexadecimale resultater for kompakte repræsentationer.
- Bekræft decimal
Decimal-outputtet bekræfter den oprindelige værdi til krydstjek.
Sådan fungerer denne talsystem-omregner
Denne talsystem-omregner tager et heltal i decimal (base 10) og repræsenterer det i binær (base 2), oktal (base 8) og heksadecimal (base 16) – de fire talsystemer, der oftest bruges i databehandling. Alle positionstalsystemer fungerer på samme måde: hver cifferposition repræsenterer en efterfølgende potens af basen, og tallets værdi er summen af hvert ciffer multipliceret med dets positionsvægt. Konvertering mellem baser er en grundlæggende operation i lavniveau-programmering, digitalt logikdesign, netværksteknik (MAC- og IPv6-adresser), farvekoder i CSS, filrettighedsmasker i Unix og inspektion af hukommelsesadresser under fejlfinding.
Gentagen division: divider N med mål-grundtallet R, noter resten, gentag med kvotienten indtil den når 0, og læs derefter resterne i omvendt rækkefølge Konverter decimaltallet 255 til binær, oktal og hexadecimal. 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. Læs resterne nedefra og op: 11111111. For oktal (R = 8): 255 ÷ 8 = 31 R 7, 31 ÷ 8 = 3 R 7, 3 ÷ 8 = 0 R 3 → 377. For hexadecimal (R = 16): 255 ÷ 16 = 15 R 15 (F), 15 ÷ 16 = 0 R 15 (F) → FF.
Decimal 4096 → binær 1000000000000, oktal 10000, hex 1000. Nyttigt til at forstå 4 KiB = 4096 bytes.
Decimal 15 → binær 1111, oktal 17, hex F. Hvert hex-ciffer svarer til præcis fire bits; F = 1111.
- ✓ Inputtet er et ikke-negativt heltal (nul eller et positivt heltal). Brøkværdier og negative tal kræver udvidede algoritmer (f.eks. toer-komplement for binære tal med fortegn), som ligger uden for dette værktøjs omfang.
- ✓ Hexadecimale cifre over 9 repræsenteres med store bogstaver A–F, i overensstemmelse med konventionen i de fleste programmeringssprog, RFC'er og hardwaredokumentation.
- ✓ Ledende nuller udelades fra resultatet. For repræsentationer med fast bredde (f.eks. 8-bit eller 32-bit binær), skal resultatet udfyldes manuelt til den ønskede bredde.
- ✓ Beregneren accepterer kun ikke-negative heltal. Værdier over 2^53 − 1 (JavaScript's Number.MAX_SAFE_INTEGER) afvises, så de viste cifre forbliver nøjagtige.
- Hvert hexadecimalt ciffer svarer til præcis fire binære cifre (bits), og hvert oktalt ciffer svarer til præcis tre bits. Dette forhold gør hovedregning mellem hex, oktal og binær hurtig, når først man har lært de 16 nibble-mønstre udenad.
- Almindelige værdier, der er værd at huske: 0xFF = 255, 0x100 = 256, 0xFFFF = 65535, 0xFFFFFFFF = 4.294.967.295 (det maksimale fortegnsløse 32-bit heltal).
- Unix-filrettigheder bruger oktal: 755 betyder rwxr-xr-x (ejer læse/skrive/eksekvere, gruppe og andre læse/eksekvere). Hvert oktalt ciffer koder tre rettighedsbits.
- CSS hex-farvekoder er tre sammenkædede hexadecimale byte-værdier, der repræsenterer rød, grøn og blå kanaler — f.eks. er #FF8800 255 rød, 136 grøn, 0 blå.
- Teori om positionstalsystemer — Knuth, D. E., The Art of Computer Programming, Volume 2: Seminumerical Algorithms, Sektion 4.1
- IEEE 754-2019 — Standard for Floating-Point Arithmetic (kontekst for heltalrepræsentation)
- RFC 4291 — IP Version 6-adresseringsarkitektur (hexadecimal notation for IPv6)
Forståelse af talsystemer i datalogi
Ethvert positionstalsystem bruger en base (radix) og tildeler hvert ciffer en vægt baseret på dets position. I decimal (base 10) er cifferet længst til højre enere, det næste er tiere, derefter hundreder. Binær (base 2) bruger kun 0 og 1, hvilket svarer direkte til tænd/sluk-tilstande i transistorer. Oktal (base 8) grupperer tre bits pr. ciffer, og hexadecimal (base 16) grupperer fire bits pr. ciffer ved hjælp af A–F for værdierne 10–15. Konvertering mellem baser sker ved gentagen division: divider tallet med mål-radix, noter resten, gentag med kvotienten indtil nul, og læs derefter resterne i omvendt rækkefølge. Denne algoritme ligger til grund for al basekonvertering i programmering.
Praktiske anvendelsesscenarier for basekonvertering for udviklere
Udviklere bruger basekonvertering ved inspektion af hukommelsesdumps, fejlfinding af bitvise operationer, fortolkning af filtilladelser og arbejde med farvekoder. Unix-filtilladelser (f.eks. 755) er oktale: hvert ciffer koder for læse/skrive/eksekvere for ejer, gruppe og andre. CSS-hex-farver som #FF8800 er tre sammenkædede bytes i hexadecimal. IPv6-adresser skrives i hex. Bitmasker og flag udtrykkes ofte i hex for læsbarhed (0xFF for en byte-maske, 0xFFFF for 16 bits). Ved fejlfinding af lavniveau-kode eller netværksprotokoller afslører konvertering mellem decimal, hex og binær hurtigt de underliggende bitmønstre.
Ofte stillede spørgsmål om talsystem-konvertering
Hvorfor bruges binær, oktal og hexadecimal i databehandling?
Binær svarer direkte til transistorers tænd/sluk-tilstande, hvilket gør det til hardwarens modersmål. Oktal og hexadecimal er kompakte forkortelser for binær – ét hex-ciffer repræsenterer præcis fire bits, og ét oktalt ciffer repræsenterer tre bits – så programmører bruger dem til at udtrykke adresser, bitmasker og farvekoder mere kortfattet end lange binære strenge.
Hvordan konverterer jeg i den anden retning (f.eks. hex til decimal)?
Gang hvert ciffer med dets positionelle potens af grundtallet og læg resultaterne sammen. For eksempel er hex 1A3 = 1×16² + 10×16¹ + 3×16⁰ = 256 + 160 + 3 = 419 i decimal.
Hvad sker der med meget store tal?
Lommeregneren accepterer kun værdier op til JavaScripts grænse for sikre heltal: 2^53 − 1 (9.007.199.254.740.991). Større tal afvises, da de kan miste de mindst betydende cifre i browseren.
Kan jeg konvertere negative tal eller brøker?
Dette værktøj håndterer ikke-negative heltal. Negative heltal i databehandling repræsenteres typisk ved hjælp af to-komplement i en fast bitbredde, og brøkværdier bruger IEEE 754 floating-point-kodning – begge kræver yderligere parametre, som denne lommeregner ikke indsamler.
Hvorfor optræder 0x-præfikset i kode, men ikke i outputtet?
0x-præfikset (og 0b for binær, 0o for oktal) er en sprogspecifik syntaks, der fortæller compileren eller fortolkeren, hvilket grundtal der skal forventes. Lommeregneren viser den rå cifferstreng uden præfiks, så den kan bruges i enhver sammenhæng.