Binær til desimal-konverterer
Konverter binære tall til desimal og desimal til binær øyeblikkelig. Støtter opptil 64-bits tall. Denne gratis konvertereren gir umiddelbare, nøyaktige resultater.
Hva er en binær-tellende konvertering?
Binær (basert på 2) bruker bare tallene 0 og 1. Hver posisjon representerer en potens av 2, som dobles fra høyre til venstre. For å konvertere binær til desimal, multipliser hver binære digit med sin posisjonsverdi og summere resultater.
Eksempel: Konverter 1011₂ til desimal
- Posisjon 3 (høyest): 1 × 2³ = 1 × 8 = 8
- Posisjon 2: 0 × 2² = 0 × 4 = 0
- Posisjon 1: 1 × 2¹ = 1 × 2 = 2
- Posisjon 0 (høyre): 1 × 2⁰ = 1 × 1 = 1
- Total: 8 + 0 + 2 + 1 = 11
For å konvertere desimal til binær, gjør du ganske enkelt: Diviser av 2 og registrer rester fra bunnen opp. 11 ÷ 2 = 5 R1, 5 ÷ 2 = 2 R1, 2 ÷ 2 = 1 R0, 1 ÷ 2 = 0 R1 → les rester oppover: 1011.
Denne posisjonelle notasjonsystemet fungerer på samme måte som desimal — bare med en annen basis. I desimal (basert på 10), betyr tallet 347 3 × 10² + 4 × 10¹ + 7 × 10⁰ = 300 + 40 + 7. Binær bruker samme prinsipp med potenser av 2 i stedet for potenser av 10.
Binær posisjonsverdier referanse
Den 8-bit byte er den fundamentale enheten for lagring. Her er den fullstendige posisjonsverditablet for 8-bit tall (0–255):
| Bit posisjon | Potens av 2 | Desimal verdi |
|---|---|---|
| Bit 7 (MSB) | 2⁷ | 128 |
| Bit 6 | 2⁶ | 64 |
| Bit 5 | 2⁵ | 32 |
| Bit 4 | 2⁴ | 16 |
| Bit 3 | 2³ | 8 |
| Bit 2 | 2² | 4 |
| Bit 1 | 2¹ | 2 |
| Bit 0 (LSB) | 2⁰ | 1 |
En byte kan representere noen verdier fra 0 (00000000₂) til 255 (11111111₂). To byte (16 bit) dekker 0–65.535. Fire byte (32 bit) dekker 0–4.294.967.295.
Utvidede potenser av 2 tabell
For programmer og datavitenskapsfolk er det viktig å kjenne potenser av 2 opp til 2⁶⁴ for å forstå minneadressering, datatyper og systemgrenser:
| Potens | Desimal verdi | Signifikans |
|---|---|---|
| 2⁰ | 1 | Minste enhet (1 bit) |
| 2⁸ | 256 | 1 byte verdi (0–255) |
| 2¹⁰ | 1.024 | 1 KiB (kibibyte) |
| 2¹⁶ | 65.536 | 16-bit verdi; TCP-portgrense |
| 2²⁰ | 1.048.576 | 1 MiB (mebibyte) |
| 2²⁴ | 16.777.216 | 24-bit farge (16,7M farger) |
| 2³⁰ | 1.073.741.824 | 1 GiB (gibibyte) |
| 2³² | 4.294.967.296 | 32-bit adresseområde; IPv4 maks |
| 2⁴⁰ | 1.099.511.627.776 | 1 TiB (tebibyte) |
| 2⁶⁴ | 18.446.744.073.709.551.616 | 64-bit adresseområde; moderne CPUer |
Merke på forskjellen mellom binære prefikser (KiB, MiB, GiB — potenser av 2) og SI-prefikser (KB, MB, GB — potenser av 10). 1 GB = 1.000.000.000 byte; 1 GiB = 1.073.741.824 byte. Denne ~7% forskjellen forklarer hvorfor en «500 GB» harddisk viser som ~465 GiB i din OS (som vanligvis bruker binære enheter internasjonalt).
Vanlige binære verdier i dataprogrammering
Disse binære verdiene opptrer ofte i programmering, nettverk og systemadministrasjon:
| Binær | Desimal | Hexadecimal | Sammenheng |
|---|---|---|---|
| 00000000 | 0 | 0x00 | NULL-byte, svart fargekanal |
| 00001010 | 10 | 0x0A | Linjeskift (LF) tegn — Unix linjeskift |
| 00001101 | 13 | 0x0D | Retur (CR) — Windows linjeskift del |
| 00100000 | 32 | 0x20 | Tomme tegn (ASCII) |
| 01000001 | 65 | 0x41 | ASCII 'A' |
| 01100001 | 97 | 0x61 | ASCII 'a' (skjærer fra 'A' ved bit 5) |
| 01111111 | 127 | 0x7F | Localhost IP (siste oktet); DEL tegn |
| 10000000 | 128 | 0x80 | Start av utvidet ASCII / tegnbit |
| 11000000 | 192 | 0xC0 | Class C nettverksprefiks (192.x.x.x) |
| 11111111 | 255 | 0xFF | Sendebroadcast; maks byte; hvit i RGB |
Binær, hexadecimal og oktal sammenligning
Programmer bruker forskjellige tallbaserte på grunn av sammenheng. Her er hvordan samme verdier opptrer i hver system:
| Desimal | Binær | Hexadecimal | Okta | Bruksområde |
|---|---|---|---|---|
| 0 | 0000 | 0x0 | 0o0 | Null / tom |
| 7 | 0111 | 0x7 | 0o7 | Unix tillatelse (rwx) |
| 10 | 1010 | 0xA | 0o12 | — |
| 15 | 1111 | 0xF | 0o17 | Maks 4-bit (nibble) |
| 16 | 10000 | 0x10 | 0o20 | — |
| 127 | 1111111 | 0x7F | 0o177 | Maks signert 8-bit |
| 255 | 11111111 | 0xFF | 0o377 | Maks usignert 8-bit |
| 511 | 111111111 | 0x1FF | 0o777 | Unix tillatelse rwxrwxrwx |
| 1023 | 1111111111 | 0x3FF | 0o1777 | Maks 10-bit (ADC) |
Hexadecimal er den mest vanlige forkortelsen for binær fordi hver hex-digit mapper til præcis 4 binære bit — gjør omregning enkelt. Okta mapper 3 bit per digit og brukes hovedsakelig for Unix-filtilganger (f.eks. chmod 755 = 111 101 101 i binær = rwxr-xr-x).
Signerte binære tall (To's komplement)
Computere representerer negative tall ved hjelp av to's komplement — standarden definert av IEEE og brukt av nesten alle moderne prosessorer. I et 8-bitts to's komplement-system:
| Binær | Usignert desimal | Signert (To's komplement) |
|---|---|---|
| 00000000 | 0 | 0 |
| 00000001 | 1 | +1 |
| 01111111 | 127 | +127 (maks positiv) |
| 10000000 | 128 | −128 (min negativ) |
| 10000001 | 129 | −127 |
| 11111110 | 254 | −2 |
| 11111111 | 255 | −1 |
For å negere et tall i to's komplement: invert alle bitene og legg til 1. Eksempel: +5 = 00000101 → invert → 11111010 → legg til 1 → 11111011 = −5.
De vanlige områdene for hele tall-typene:
| Type | Bit | Usignert område | Signert område |
|---|---|---|---|
| byte / uint8 | 8 | 0 til 255 | −128 til +127 |
| short / int16 | 16 | 0 til 65 535 | −32 768 til +32 767 |
| int / int32 | 32 | 0 til 4 294 967 295 | −2 147 483 648 til +2 147 483 647 |
| long / int64 | 64 | 0 til 18,4 × 10¹⁸ | −9,2 × 10¹⁸ til +9,2 × 10¹⁸ |
Binær i hverdags teknologi
Binær er grunnlaget for alle moderne datamaskiner fordi transistorer har to stabile tilstander (på/off, 1/0). Viktige anvendelser:
- Filstørrelser: 1 kilobyte = 2¹⁰ = 1 024 byte; 1 megabyte = 2²⁰ = 1 048 576 byte; 1 gigabyte = 2³⁰ byte
- Farger: RGB-farger er tre 8-bits verdier. #FF5733 i hex = (255, 87, 51) i desimal = (11111111, 01010111, 00110011) i binær
- ASCII-encoding: Bokstaven 'A' = desimal 65 = binær 01000001; 'a' = 97 = 01100001
- Unicode: De fleste teksttegn passer inn i 16-bits binær (0–65 535 område)
- IP-adresser: IPv4-adresser er fire 8-bits binære grupper: 192.168.1.1 = 11000000.10101000.00000001.00000001
Å forstå binær direkte hjelper i programmering (bitvise operasjoner, flags), nettverk (IP/subnet beregninger), og arbeid med lav-nivå hårdvarer.
Binær aritmetikk: Addisjon og subtraksjon
Binær aritmetikk følger samme regler som desimal, men med bare to tall. Addisjons-tabellen er:
| A | B | Sum | Carry |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 |
Eksempel: 1011 + 0110
Arbeidet fra høyre til venstre: 1+0=1, 1+1=10 (skriv 0 med 1 carry), 0+1+1=10 (skriv 0 med 1 carry), 1+0+1=10 (skriv 0 med 1 carry). Resultat: 10001 (desimal: 11+6=17)
Subtraksjon i hårdvarer utføres typisk ved å addere to's komplement av subtrahenten. For å beregne A−B, beregner prosessoren A + (−B), hvor −B er to's komplement av B. Dette tillater en enkelt adder-sirkvit for å håndtere både addisjon og subtraksjon.
Bitvise operasjoner
Programmeringsspråk tilbyr bitvise operatører som manipulerer enkelte bit. Disse er grunnleggende for lav-nivå programmering, integrerte systemer og ytelsesoptimering:
| Operasjon | Symbol | Eksempel (8-bits) | Resultat | Bruksområde |
|---|---|---|---|---|
| OG | & | 10110101 & 11110000 | 10110000 | Maskering av bit, utvinning av felt |
| ELLER | | | 10110101 | 00001111 | 10111111 | Sett bit, kombinasjon av flags |
| EXKLUSIV | ^ | 10110101 ^ 11111111 | 01001010 | Toggling av bit, enkel kryptering |
| IKKE | ~ | ~10110101 | 01001010 | Bit-inversjon |
| Venstre skift | << | 00000101 << 2 | 00010100 | Ganger med 2ⁿ |
| Høyre skift | >> | 00010100 >> 2 | 00000101 | Diviser med 2ⁿ |
Bit-skift er betydelig raskere enn multiplikasjon/divisjon i mange prosessorer. x << 1 er lik x × 2, og x >> 1 er lik x ÷ 2 (hele divisjon). Spillmotorer og integrerte firmware bruker disse operasjonene omfattende for å oppnå ytelse.
Binær-kodet desimal (BCD)
Binær-kodet desimal representerer hver desimaltall med sin egen 4-bits binære mønster. I motsetning til ren binær, bevarer BCD desimalstrukturen:
| Desimal | Ren binær | BCD |
|---|---|---|
| 0 | 0000 | 0000 |
| 5 | 0101 | 0101 |
| 9 | 1001 | 1001 |
| 10 | 1010 | 0001 0000 |
| 42 | 101010 | 0100 0010 |
| 99 | 1100011 | 1001 1001 |
| 255 | 11111111 | 0010 0101 0101 |
BCD er mindre plass-efektiv enn ren binær (10 av de 16 mulige 4-bits kombinasjonene brukes), men det enkelte desimaltallet er enkelt å vise — hver nibbel mappes direkte til et vist tall. BCD brukes i digitale ur, regneark, finansielle systemer (hvor eksakt desimalrepresentasjon er viktig), og eldre hovedrammedatabaser (COBOL, IBM EBCDIC).
Flokkendeponering (IEEE 754)
Desimale tall med fraksjonspart (som 3,14) lagres i binær form ved hjelp av IEEE 754-standarden. En 32-bit (enkelt-precisjon) flokkendeponering har tre deler:
| Del | Bits | Hensikt |
|---|---|---|
| Sign | 1 | 0 = positivt, 1 = negativt |
| Exponent | 8 | Biastet eksponent (bias = 127) |
| Mantissa (signifikant) | 23 | Fraksjonspart (implisitt ledende 1) |
Eksempel: Det desimale tallet −6,5 i IEEE 754 enkelt-precisjon:
- Sign = 1 (negativt)
- 6,5 i binær form = 110,1₂ = 1,101 × 2² (normalisert)
- Exponent = 2 + 127 (bias) = 129 = 10000001₂
- Mantissa = 10100000000000000000000 (23 bit, implisitt ledende 1 omtalt)
- Full representasjon: 1 10000001 10100000000000000000000
Dette er hvorfor 0,1 + 0,2 ≠ 0,3 i de fleste programmeringsspråk — desimale fraksjoner som 0,1 har en uendelig gjentakende representasjon i binær form (som 1/3 i desimal = 0,333…), så de må runderes, og det introduserer små feil. For finansielle beregninger, bruke desimale aritmetikkbiblioteker (Python's decimal-modul, Java's BigDecimal) i stedet for flokkendeponering.
Karakterkoding: Fra ASCII til UTF-8
Tekst lagres som binære tall som er kartlagt til tegn. Utviklingen av karakterkoding reflekterer den globale utvidelsen av datamaskiner:
| Koding | År | Bits per tegn | Tegn støttet | Notater |
|---|---|---|---|---|
| ASCII | 1963 | 7 (lagret i 8) | 128 | Engelske bokstaver, tall, tegn |
| Utvidet ASCII (ISO 8859-1) | 1987 | 8 | 256 | Vestlige europeiske tegn (é, ñ, ü) |
| UTF-8 | 1993 | 8–32 (variabel) | 1 112 064 | Tilbakekompatibel med ASCII; webstandard |
| UTF-16 | 1996 | 16–32 (variabel) | 1 112 064 | Brukt i Java, Windows, JavaScript intern |
| UTF-32 | 2000 | 32 (fast) | 1 112 064 | Fast bredde; slenger plass for latin tekst |
UTF-8 koder ASCII-tegn i en enkelt byte (identisk med plain ASCII), europeiske tegn i 2 byte, kinesiske tegn i 3 byte og emoji i 4 byte. Over 98% av alle nettstedene bruker UTF-8-koding (ifølge W3Techs, 2024).
Binære logiske porter
Logiske porter er de fysiske byggesteinene for alle digitale kredsløkker. Hver porter utfører en enkel binær operasjon på ett eller to inndata:
| Port | Symbol | Sannhetsbord (A,B → Utgang) | Beskrivelse |
|---|---|---|---|
| OG | A·B | 0,0→0; 0,1→0; 1,0→0; 1,1→1 | Utgangen er 1 bare når begge inndata er 1 |
| ELLER | A+B | 0,0→0; 0,1→1; 1,0→1; 1,1→1 | Utgangen er 1 når minst ett av inndata er 1 |
| IKKE | ¬A | 0→1; 1→0 | Investerer inndata |
| NAND | ¬(A·B) | 0,0→1; 0,1→1; 1,0→1; 1,1→0 | OG følgd av IKKE — universell porter |
| XYOR | A⊕B | 0,0→0; 0,1→1; 1,0→1; 1,1→0 | Utgangen er 1 når inndata er forskjellig |
NAND-porten kalles en universell porter fordi noen andre logiske funksjoner kan bygges ved hjelp av bare NAND-porter. Moderne CPU-er inneholder milliarder av transistorer som er organisert i NAND- og NOR-porter, som så kombinert til addere, multiplexere, flip-flopper og andre byggesteiner for en prosessor. Apple M3-chippet inneholder om lag 25 milliarder transistorer — hver en mikroskopisk binær sløyfe som enten er på (1) eller av (0).
XYOR-porten har en spesiell egenskap: den utgir 1 når de to inndata er forskjellige. Dette gjør den til grunnlaget for binær tillegg (summen bit av en halv adder), feiloppdagelse (paritetssjekker) og enkel kryptering (XYOR-kryptering).
Historien om Binary: Fra Leibniz til Moderne Datamaskiner
Binary-tallet har en rik intellektuell historie:
| År | Person/Event | Bidrag |
|---|---|---|
| ~300 f.Kr. | Pingala (indisk matematiker) | Brukte et binært system til å klassifisere poetiske metrer |
| 1679 | Gottfried Leibniz | Formelt beskrev moderne binæraritmetikk; så forbindelser til kinesisk I Ching |
| 1847 | George Boole | Publiserte "The Mathematical Analysis of Logic" — Boolesk algebra grunnlag |
| 1937 | Claude Shannon (MIT-avhandling) | Viser at Boolesk algebra kunne modellere elektriske sløyfer |
| 1945 | John von Neumann | Forutsåg lagret-program-basert binær datamaskinarkitektur (von Neumann-arkitektur) |
| 1971 | Intel 4004 | Den første kommersielle mikroprosessor — 2 300 transistorer, 4-bit binær |
| 2024 | Modern prosessorer | Milliarder av transistorer; 64-bit binær arkitektur standard |
Leibniz' insikt om at alle tall kunne uttrykkes ved hjelp av bare 0 og 1 var rent matematisk — han fant aldri ut at det ville bli elektroniske datamaskiner. Shannons 1937-mesteroppgave koblet Boolesk (binær) logikk til elektriske reléer, og skapte det teoretiske grunnlaget for alle digitale elektronikk.
Binary i nettverk: IP-adresser og subnetmasks
Forståelsen av binær er essensiell for nettverksadministrasjon. IPv4-adresser og subnetmasks er 32-bit binære tall:
| Beskrivelse | Dotter Decimal | Binær |
|---|---|---|
| IP-adresse | 192.168.1.100 | 11000000.10101000.00000001.01100100 |
| Subnetmask (/24) | 255.255.255.0 | 11111111.11111111.11111111.00000000 |
| Nettadresse | 192.168.1.0 | 11000000.10101000.00000001.00000000 |
| Sendebare adresse | 192.168.1.255 | 11000000.10101000.00000001.11111111 |
Nettadressen beregnes ved å AND-ere IP med subnetmasken. Sendebare adresse setter alle vertsbiter til 1. Antall brukbare vertadresse = 2^(32−prefix) − 2. For en /24-nettverksadresse: 2⁸ − 2 = 254 brukbare vertadresse.
Vanlige subnetstørrelser:
| CIDR | Subnetmask | Verter | Typisk bruk |
|---|---|---|---|
| /32 | 255.255.255.255 | 1 | Enkelt vert |
| /30 | 255.255.255.252 | 2 | Point-to-point kobling |
| /24 | 255.255.255.0 | 254 | Standard LAN |
| /16 | 255.255.0.0 | 65 534 | Stor campus-nettverk |
| /8 | 255.0.0.0 | 16 777 214 | Class A-allokering |
Ofte stilte spørsmål
Hvordan konverterer jeg 1100 til desimal?
1100 i binær: 1×8 + 1×4 + 0×2 + 0×1 = 8 + 4 = 12. Så binær 1100 = desimal 12.
Hva er 255 i binær?
255 i binær er 11111111 — alle åtte biter er satt til 1. Dette er maksimalt verdi for en enkelt byte og opptrer i nettverk (subnetmask 255.255.255.0) og fargeverdier (fullt rødt = 255, 0, 0).
Hvordan konverterer jeg desimal 100 til binær?
Diviser gjentakende med 2: 100÷2=50 R0, 50÷2=25 R0, 25÷2=12 R1, 12÷2=6 R0, 6÷2=3 R0, 3÷2=1 R1, 1÷2=0 R1. Les opp fra bunnen av: 1100100₂. Verifiser: 64+32+4 = 100. ✓
Hva er forskjellen mellom binær og hexadecimal?
Binær bruker basis 2 (tallene 0–1); hexadecimal bruker basis 16 (tallene 0–9, A–F). Hex er en kompaktt versjon av binær — hver hex-tall representere praksis 4 binære biter. Eksempel: hex FF = binær 11111111 = desimal 255.
Hvorfor bruker datamaskiner binær i stedet for desimal?
Elektriske kredsløp er naturligvis binære: en transistor er enten på (1) eller av (0), og spenningen er enten høy eller lav. Desimal ville kreve 10 forskjellige spenningnivåer, som er vanskelig å implementere pålitelig i hardware. Binær er støy-tolerant og mapper perfekt til logiske sant/falske operasjoner.
Hva er to's komplement?
To's komplement er standardmetoden for å representere signerte (positive og negative) tall i binær. For å finne to's komplement (negativ) av et tall: invert alle biter og legg til 1. I en 8-bit system, +5 er 00000101, og −5 er 11111011. Den venstre biter er signifikant biter: 0 = positiv, 1 = negativ. Dette systemet tillater hardware å bruke samme adder-krets for både addisjon og subtraksjon.
Hvordan konverterer jeg binær til hexadecimal?
Grupper binærbiter i sett på 4 fra høyre til venstre, og konverter hver gruppe. Eksempel: 10110101₂ → 1011 0101 → B5₁₆. Grupperingene er: 0000=0, 0001=1, 0010=2, ..., 1001=9, 1010=A, 1011=B, 1100=C, 1101=D, 1110=E, 1111=F.