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:
- 2 er i posisjonen 16² (256): 2 × 256 = 512
- F (15) er i posisjonen 16¹ (16): 15 × 16 = 240
- 4 er i posisjonen 16⁰ (1): 4 × 1 = 4
- Totalt: 512 + 240 + 4 = 756 desimal
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:
| Hex | Desimal | Binær | Vanlig betydning |
|---|---|---|---|
| 0x00 | 0 | 0000 0000 | Null-byte, falsk, av |
| 0x01 | 1 | 0000 0001 | Sann, aktivert |
| 0x0A | 10 | 0000 1010 | Ny linje (LF) |
| 0x0D | 13 | 0000 1101 | Linjeskift (CR) |
| 0x1F | 31 | 0001 1111 | Enhetsskille |
| 0x20 | 32 | 0010 0000 | Tomme karakter (ASCII) |
| 0x41 | 65 | 0100 0001 | 'A' i ASCII |
| 0x61 | 97 | 0110 0001 | 'a' i ASCII (lavere) |
| 0x7F | 127 | 0111 1111 | DEL-karakter; maksimalt signert nibble-par |
| 0x80 | 128 | 1000 0000 | Sign-bit satt (negativt i signert byte) |
| 0xFF | 255 | 1111 1111 | Maksimalt usignert byte; alle bitene satt |
| 0x100 | 256 | 1 0000 0000 | En mer enn maksimalt byte |
| 0xFFFF | 65 535 | 16 enes | Maksimalt 16-bit usignert verdi |
| 0xFFFFFF | 16 777 215 | 24 enes | Maksimalt 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 Farge | Rød | Grønn | Blå | Farge Navn |
|---|---|---|---|---|
| #FF0000 | 255 | 0 | 0 | Rød |
| #00FF00 | 0 | 255 | 0 | Grønn (lime) |
| #0000FF | 0 | 0 | 255 | Blå |
| #FFFF00 | 255 | 255 | 0 | Gul |
| #FF00FF | 255 | 0 | 255 | Magenta |
| #00FFFF | 0 | 255 | 255 | Syan |
| #FFFFFF | 255 | 255 | 255 | Hvit |
| #000000 | 0 | 0 | 0 | Sort |
| #808080 | 128 | 128 | 128 | Middelgrå |
| #FF5733 | 255 | 87 | 51 | Intensiv 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.
| Operasjon | Uttrykk | Effekt |
|---|---|---|
| Sett bit 3 | x |= 0x08 | Kraftig bit 3 til 1, la andre ubeskjedde |
| Nullstill bit 3 | x &= ~0x08 | Kraftig bit 3 til 0, la andre ubeskjedde |
| Toggel bit 3 | x ^= 0x08 | Flip bit 3, la andre ubeskjedde |
| sjekk bit 3 | (x & 0x08) != 0 | Test om bit 3 er satt |
| Ekstraher lav nibble | x & 0x0F | Get lavere 4 bit |
| Ekstraher høy nibble | (x >> 4) & 0x0F | Get ø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 Type | Hex Signatur (første byte) | ASCII Representasjon |
|---|---|---|
| JPEG-bilde | FF D8 FF | ÿØÿ |
| PNG-bilde | 89 50 4E 47 0D 0A 1A 0A | .PNG.... |
| PDF-dokument | 25 50 44 46 | |
| ZIP-arkiv | 50 4B 03 04 | PK.. |
| GIF-bilde | 47 49 46 38 | GIF8 |
| ELF-eksplisert (Linux) | 7F 45 4C 46 | .ELF |
| Windows PE-eksplisert | 4D 5A | MZ |
| MP3-lyd | FF FB eller 49 44 33 | ÿû eller ID3 |
| SQLite-database | 53 51 4C 69 74 65 | SQLite |
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.
| Desimal | Binær (base 2) | Oktal (base 8) | Heksadesimal (base 16) |
|---|---|---|---|
| 0 | 0000 | 0 | 0 |
| 8 | 1000 | 10 | 8 |
| 10 | 1010 | 12 | A |
| 15 | 1111 | 17 | F |
| 16 | 0001 0000 | 20 | 10 |
| 64 | 0100 0000 | 100 | 40 |
| 128 | 1000 0000 | 200 | 80 |
| 255 | 1111 1111 | 377 | FF |
| 256 | 1 0000 0000 | 400 | 100 |
| 1024 | 100 0000 0000 | 2000 | 400 |
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:
| Karakter | Unicode-kodepunkt | UTF-8-koding (hex) | Beskrivelse |
|---|---|---|---|
| A | U+0041 | 41 | Latin kapitalbokstav A |
| α | U+03B1 | CE B1 | Gresk liten bokstav alpha |
| € | U+20AC | E2 82 AC | Euro-tegn |
| 中 | U+4E2D | E4 B8 AD | Kinesisk tegn "midten" |
| 😀 | U+1F600 | F0 9F 98 80 | Smilende ansikt emoji |
| © | U+00A9 | C2 A9 | Copyright-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.”}}]}