Skip to main content
🔬 Advanced

Heksadesimalkalkulator

Legg til, trekk fra og konverter heksadesimale tall. Utfør hex-aritmetikk og konverter til desimal eller binær. Gratis mattekalkulator. Få umiddelbare resultater.

Forståelse av Hexadecimal (Base-16): Grunnleggende

Hexadecimal (hex) er en posisjonsbasert tallsystem med basis 16. Den bruker seksten forskjellige symboler: tallene 0–9 representerer verdier fra null til ni, og bokstavene A–F (eller a–f) representerer verdier fra ti til femten. Et enkelt hex-tall representerer præcis fire binære bit (en "nibble"), noe som gjør hex til den naturligste måten å representere binært data på en leselig format.

Posisjonell verdi for hver hex-tall er en potens av 16. For det hex-tallet 2F4:

Omvendt konvertering fra desimal til hex: gjentakelig dele av 16 og registrer rester (høyre side først). 756 ÷ 16 = 47 R 4; 47 ÷ 16 = 2 R 15 (F); 2 ÷ 16 = 0 R 2. Les opp rester oppover: 2F4₁₆ ✓. I de fleste programmeringsspråk, er hex-litteraler prefiksede med 0x: 0x2F4 = 756.

Hex til Desimal Konverteringstabell

Snarvei for å konvertere enkelt hex-tall og vanlige hex-verdier til desimal:

HexDesimalBinærVanlig betydning
0x0000000 0000Null-byte, falsk, av
0x0110000 0001Sann, aktivert
0x0A100000 1010Ny linje (LF)
0x0D130000 1101Linjeskift (CR)
0x1F310001 1111Enhetsskille
0x20320010 0000Tomme karakter (ASCII)
0x41650100 0001'A' i ASCII
0x61970110 0001'a' i ASCII (lavere)
0x7F1270111 1111DEL-karakter; maksimalt signert nibble-par
0x801281000 0000Sign-bit satt (negativt i signert byte)
0xFF2551111 1111Maksimalt usignert byte; alle bitene satt
0x1002561 0000 0000En mer enn maksimalt byte
0xFFFF65 53516 enesMaksimalt 16-bit usignert verdi
0xFFFFFF16 777 21524 enesMaksimalt 24-bit (16M farger)

Forholdet mellom hex og binær er direkte: hver hex-tall mapper til præcis 4 bit. A = 1010, B = 1011, C = 1100, D = 1101, E = 1110, F = 1111. Konvertering av 0xAB til binær: A=1010, B=1011 → 10101011₂ = 171₁₀.

Hex Arithmetikk: Addisjon, Subtraksjon, Ganger

Hex-aritmetikk følger samme regler som desimal-aritmetikk, men bærer og låner på 16 i stedet for 10. Forståelse av hex-aritmetikk er viktig for assemblerspråk, innbygde systemer og lesing av kompilatorutdata.

Addisjon eksempel: 3A + 27. Enheter: A + 7 = 10 + 7 = 17 = 1×16 + 1 → skriv 1, bær 1. Seksten: 3 + 2 + 1 (bær) = 6. Resultat: 61₁₆ = 97₁₀. Verifiser: 58 + 39 = 97 ✓.

Subtraksjon eksempel: C3 − 5F. Enheter: 3 < F (15), så lån: 3 + 16 − 15 = 4, og bær 1 til neste kolonne. Seksten: C (12) − 5 − 1 (lån) = 6. Resultat: 64₁₆ = 100₁₀. Verifiser: 195 − 95 = 100 ✓.

Ganger eksempel: 1A × 3. A × 3 = 30 = 1E₁₆ (skriv E, bær 1). 1 × 3 + 1 = 4. Resultat: 4E₁₆ = 78₁₀. Verifiser: 26 × 3 = 78 ✓.

For komplekse hex-regninger, konvertering til desimal, regning og konvertering tilbake er ofte mer pålitelig hvis du ikke er dypt trent. Likevel bygger forståelse av hex-aritmetikk innstinktet for minnetilgang, CPU-registre og datarepresentasjon.

Hex i Webdesign: Fargekoder

HTML og CSS-fargekoder er en av de mest synlige anvendelsene av hexadecimal utenfor programmering. Farger uttrykkes som #RRGGBB hvor hver kanal strekker seg fra 00 (0 intensitet) til FF (255 = full intensitet). Dette gir 256³ = 16 777 216 mulige farger.

Hex FargeRødGrønnBlåFarge Navn
#FF000025500Rød
#00FF0002550Grønn (lime)
#0000FF00255Blå
#FFFF002552550Gul
#FF00FF2550255Magenta
#00FFFF0255255Syan
#FFFFFF255255255Hvit
#000000000Sort
#808080128128128Middelgrå
#FF57332558751Intensiv oransje-rød

CSS støtter også 4-delt (#RGBA) og 8-delt (#RRGGBBAA) hex-farger hvor AA er alfa-kanalen (00 = gjennomlys, FF = ugenskåret). Kort formater (#RGB) utvides ved å gjenta hver digit: #F3A = #FF33AA.

Webdesignere justerer ofte farger ved å endre hex-verdier. Tilleggs til rød-kanalen gjør fargene varmere; subtrahering gjør dem kjøligere. Hex-farger med like R, G og B-verdier produserer alltid skjær av grå. En farge som #7F7F7F er præcis 50% grå (127 av 255 på hver kanal).

Hex i Programmering: Minneadresser og Bitmanipulering

I systemer programmering, er hex den naturlige språket for minneadresser, bitflag og hardware-registre. Hver programmer som arbeider i C, C++, assembly eller embedded system møter hex konstant.

Minneadresser: På en 32-bit system, strekker adressene seg fra 0x00000000 til 0xFFFFFFFF (4 GB). Vanlige adresseområder: 0x00000000–0x00FFFFFF (lav minne), 0x7FFFFFFF (maks positiv signert 32-bit int), 0x80000000 (start av negativt rom i signert tolkning), 0xFFFFFFFF (maks usignert 32-bit). På 64-bit systemer, bruker brukerrommet typisk 0x0000000000000000–0x00007FFFFFFFFFFF.

Bitmanipulering med hex-masker: Bitoperasjoner uttrykkes naturlig i hex fordi de passer med nibble-grenser.

OperasjonUttrykkEffekt
Sett bit 3x |= 0x08Kraftig bit 3 til 1, la andre ubeskjedde
Nullstill bit 3x &= ~0x08Kraftig bit 3 til 0, la andre ubeskjedde
Toggel bit 3x ^= 0x08Flip bit 3, la andre ubeskjedde
sjekk bit 3(x & 0x08) != 0Test om bit 3 er satt
Ekstraher lav nibblex & 0x0FGet lavere 4 bit
Ekstraher høy nibble(x >> 4) & 0x0FGet øvre 4 bit av byte

Famøske hex-konstanter: Programmer har opprettet minnebare konstanter for debugging og initialisering: 0xDEADBEEF (brukt til å markere ubesatt minne i gamle IBM-systemer), 0xCAFEBABE (Java-klassfil-magi-tall), 0xFEEDFACE (Mach-O-binary-format-magi), 0x0BADF00D (minne-debugging-sentinel), 0xDEADC0DE (brukt i iOS-crash-diskverifikasjon). Disse konstanter opptrer uavklart i hex-dumper, noe som gjør det enkelt å oppdage under debugging.

File Format Signatures og Hex Forensik

Alle filformat har en karakteristisk sekvens av byte ved begynnelsen kalt "magi-tall" eller filsignatur. Hex-redaktører og digital forensik-verktøy bruker disse signaturer til å identifisere filtyper uavhengig av fil-ekstensjon. Kjenning av filsignaturer er nødvendig for data-gjenoppretting, malware-analyse og digital forensik.

File TypeHex Signatur (første byte)ASCII Representasjon
JPEG-bildeFF D8 FFÿØÿ
PNG-bilde89 50 4E 47 0D 0A 1A 0A.PNG....
PDF-dokument25 50 44 46%PDF
ZIP-arkiv50 4B 03 04PK..
GIF-bilde47 49 46 38GIF8
ELF-eksplisert (Linux)7F 45 4C 46.ELF
Windows PE-eksplisert4D 5AMZ
MP3-lydFF FB eller 49 44 33ÿû eller ID3
SQLite-database53 51 4C 69 74 65SQLite

Sikkerhetsprofesjonelle bruker hex til å undersøke binære filer uten å stole på fil-ekstensjon. En fil med navn "document.pdf" som starter med 4D 5A er faktisk en Windows-eksplisert – en vanlig malware-trick. Hex-analyse av nettverkspakker avslører protokollstrukturer, krypteringshoder og potensielle eksploater.

Basekomparasjon: Desimal, Binær, Oktal, Heksadesimal

Computere bruker forskjellige tallbas for forskjellige formål. Forståelsen av hvordan de relaterer seg til hverandre hjelper til å lese teknisk dokumentasjon, å debugge og systemprogrammering.

DesimalBinær (base 2)Oktal (base 8)Heksadesimal (base 16)
0000000
81000108
10101012A
15111117F
160001 00002010
640100 000010040
1281000 000020080
2551111 1111377FF
2561 0000 0000400100
1024100 0000 00002000400

Oktal (base 8) var en gang vanlig i datamaskinbruk (det opptrer i Unix-filrettigheter: chmod 755 = 111 101 101 i binær = rwxr-xr-x). Heksadesimal erstattet i stor grad oktal for de fleste formål fordi 4 bit per tegn (heksadesimal) passer bedre med moderne 8-bit, 16-bit, 32-bit og 64-bit arkitekturer enn 3 bit per tegn (oktal).

Ofte stilte spørsmål

Hva er det beste måte å konvertere mellom hex og binær på?

Hver hex-tall korresponderer med præcis 4 binære bit: 0=0000, 1=0001, 2=0010, 3=0011, 4=0100, 5=0101, 6=0110, 7=0111, 8=1000, 9=1001, A=1010, B=1011, C=1100, D=1101, E=1110, F=1111. For å konvertere 0xB7: B=1011, 7=0111 → 10110111₂. For å konvertere 11001010₂: del inn i nibbler: 1100=C, 1010=A → 0xCA.

Why bruker CSS farger i hexadecimal?

CSS bruker hex fordi hver RGB-kanal (0-255) passer fint inn i præcis 2 hex-tall (00-FF). Formatet #RRGGBB er komakt, uavhengig og kartlegger direkte til 24-bit-fargemodellen som brukes av utskriftshåndteringsutstyret. HTML adopterte hex-farger i begynnelsen av 1990-tallet fra X11-fargedefinisjoner, og konvensjonen har vært standard siden da.

What er det som 0xFF er likt i desimal?

0xFF = 15×16 + 15 = 240 + 15 = 255. I binær, FF = 1111 1111, betyr at alle 8 bit er satt. 255 er maksimalt verdi for en ubegrenset byte (uint8), maksimal intensitet for hver RGB-fargekanal og dukker opp konstant i nettverks- (255.255.255.255 er utsendingsadressen) og dataprogrammering.

What er forskjellen mellom 0x1F og 0xF1?

Disse er forskjellige tall med samme tall i forskjellig rekkefølge. 0x1F = 1×16 + 15 = 31 desimal. 0xF1 = 15×16 + 1 = 241 desimal. I binær: 0x1F = 0001 1111; 0xF1 = 1111 0001. Posisjonell verdi er viktig, likt 19 ≠ 91 i desimal.

Hvor mange hex-tall trenger jeg for å representere et 32-bit tall?

Præcis 8 hex-tall (siden 16⁸ = 2³², dekker alle 32-bit-verdier fra 0x00000000 til 0xFFFFFFFF). Minneadresser på 32-bit-systemer vises som 8-sifret hex-nummer. For 64-bit-tall trenger du 16 hex-tall (0x0000000000000000 til 0xFFFFFFFFFFFFFFFF).

What betyr "0x" prefikset i hex-tall?

Det "0x" prefikset er en notasjon-konvensjon som brukes i C og de fleste programmeringsspråk for å indikere at følgende tall er hexadecimal. "0x" står for "hex" (det 'x' foreslår hexadecimal). Andre notasjoner: sluttende 'h' i assembly (FFh), ledende '#' i CSS og noen sammenhenger (#FF0000), og prefikset $ i noen eldre språk ($FF).

Hva er det med hex i IP-adresser?

IPv4-adresser (f.eks. 192.168.1.1) kan uttrykkes i hex: hver oktet i hex. 192.168.1.1 = 0xC0 0xA8 0x01 0x01 = 0xC0A80101. IPv6-adresser er allerede skrevet i hex: 2001:0db8:85a3:0000:0000:8a2e:0370:7334. Dette gjør at IPv6-adressemanipulasjon blir mye enklere med hex-aritmetikk.

What er en hex-redigerer og når ville jeg bruke den?

En hex-redigerer viser og redigerer filer som rå byte i hexadecimal. Vanlige bruker: å undersøke filformat-signaturer for å identifisere filtyper, redigere binære spill-sparefiler, reversere programmering, analysere nettverksfang, gjenopprette data fra skadde filer og digital forensikk. Populære hex-redigerere inkluderer HxD (Windows), hex fiend (Mac) og xxd (kommandolinje Unix-verktøy).

Why bruker vi hexadecimal i stedet for desimal i dataprogrammering?

Fordi datamaskiner opererer i binær (basert på 2), og 16 = 2⁴ — hex passer perfekt inn i binær. Et hex-tall = 4 bit, to hex-tall = 1 byte (8 bit), fire hex-tall = 16 bit, åtte hex-tall = 32 bit. Desimal har ingen slik ren samstemmighet med potenser av 2, noe som gjør at hex er langt mer naturlig for å uttrykke binær data komakt.

Hva er det beste måte å konvertere en hex-farge til RGB-verdier på?

Del 6-sifret hex-farge i tre 2-sifret grupper: #RRGGBB. Konverter hver fra hex til desimal. Eksempel: #4A90E2 → R=0x4A=74, G=0x90=144, B=0xE2=226. Så er denne fargen rgb(74, 144, 226) — en blå farge. For å reversere: konverter hver desimal verdi til 2-sifret hex og kombinere: rgb(255, 87, 51) → #FF5733.

Hexadecimale i nettverks- og protokoll

Nettverkskomputere bruker hexadecimal omfattende. MAC-adresser — hardware-identifikatorer for nettverksgrupper — skrives som 6 hex-byter adskilt av kolon eller bindestreker: for eksempel 00:1A:2B:3C:4D:5E. De første tre byttene (00:1A:2B) identifierer produsenten (Organizationally Unique Identifier, OUI), mens de siste tre (3C:4D:5E) identifierer den spesifikke enheten.

IPv6-adresser er 128 bit uttrykt som 8 grupper på 4 hex-sifre: 2001:0DB8:AC10:FE01:0000:0000:0000:0000. Ledende nuller innenfor grupper kan omskrives og påfølgende all-null-grupper kan komprimere med "::", gitt 2001:DB8:AC10:FE01::. For å forstå hex er essensielt for å lese IPv6-adresser, subnetmålinger og routingstabeller.

Ethernet-rammer, IP-pakker, TCP-segment — alle har felt uttrykt i hex i nettverksanalyseverktøy som Wireshark. En TCP SYN-pakke viser flags-feltet som 0x002 (bare SYN-bitet satt); en SYN-ACK viser 0x012 (SYN + ACK-biter satt). Lesing av disse hex-verdiene direkte fra pakkeopptak er en grunnleggende nettverksfelsøkningsferdighet.

Unicode og Hex: Karakterkoding

Unicode, det universelle karakterkodingstandard, tildekker hver karakter en kodepunkt uttrykt i hex. Basic Multilingual Plane omfatter U+0000 til U+FFFF. Eksempler:

KarakterUnicode-kodepunktUTF-8-koding (hex)Beskrivelse
AU+004141Latin kapitalbokstav A
αU+03B1CE B1Gresk liten bokstav alpha
U+20ACE2 82 ACEuro-tegn
U+4E2DE4 B8 ADKinesisk tegn "midten"
😀U+1F600F0 9F 98 80Smilende ansikt emoji
©U+00A9C2 A9Copyright-tegn

UTF-8 koder ASCII-tegn (U+0000 til U+007F) i 1 byte identisk med deres ASCII-verdi. Tecken U+0080 til U+07FF brukes 2 byte, U+0800 til U+FFFF brukes 3 byte, og tegn over U+FFFF (som de fleste emoji) brukes 4 byte. Dette variabel-lengde-koding, alle representert i hex, er hvorfor forståelse av hex hjelper når man feiler tekstkoding i webapplikasjoner.

{"@context":“https://schema.org”,"@type":“FAQSide”,“mainEntity”:[{"@type":“Spørsmål”,“navn”:“Hvordan konverterer jeg raskt mellom hex og binær?”,“akseptertSvar”:{"@type":“Svar”,“tekst”:“Hver hex-tall korresponderer med præcis 4 binære bit. A=1010, B=1011, C=1100, D=1101, E=1110, F=1111. Så 0xAF = 1010 1111 i binær. Dette direkte korrespondansen er hvorfor hex er så nyttig for programmer som arbeider med binær data.”}},{"@type":“Spørsmål”,“navn”:“Hvorfor bruker CSS hexadecimal?”,“akseptertSvar”:{"@type":“Svar”,“tekst”:“CSS bruker hex fordi hver RGB-kanal (0-255) passer inn præcis i 2 hex-sifre (00-FF), noe som gjør representasjonen kompak og forutsigbar. #RRGGBB dekker alle 16,7 millioner mulige farger rent og kartet direkte til 24-bit-fargemodellen som brukes i utstyret.”}},{"@type":“Spørsmål”,“navn”:“Hva er 0xFF likt i desimal?”,“akseptertSvar”:{"@type":“Svar”,“tekst”:“0xFF = 15×16 + 15 = 240 + 15 = 255. I binær, FF = 1111 1111, som er en fullstendig byte. 255 opptrer konstant i datamaskinene som maksimalverdien av en ubestemt byte.”}}]}