Binär till decimal-omvandlare
Konvertera binära tal till decimal och decimal till binärt direkt. Stöder upp till 64-bitarsnummer. Den här gratis omvandlaren ger omedelbara, korrekta resultat.
Hur aritmetiskt tvåkomplementarbete fungerar
Aritmetiskt två (bas-2) använder endast siffrorna 0 och 1. Varje position representerar en potens av 2, som dubblas från vänster till höger. För att konvertera aritmetiskt två till decimal, multiplicera varje aritmetiskt tvåsiffra med dess platsvärde och summiera resultaten.
Exempel: Konvertera 1011₂ till decimal
- Position 3 (vänstermost): 1 × 2³ = 1 × 8 = 8
- Position 2: 0 × 2² = 0 × 4 = 0
- Position 1: 1 × 2¹ = 1 × 2 = 2
- Position 0 (högermost): 1 × 2⁰ = 1 × 1 = 1
- Total: 8 + 0 + 2 + 1 = 11
För decimal till aritmetiskt två, dividera upprepa med 2 och anteckna återstoden från botten till toppen. 11 ÷ 2 = 5 R1, 5 ÷ 2 = 2 R1, 2 ÷ 2 = 1 R0, 1 ÷ 2 = 0 R1 → läs återstoden uppåt: 1011.
Denna positionella notationsystem fungerar på samma sätt som decimal — bara med en annan bas. I decimal (bas-10), betyder talet 347 3 × 10² + 4 × 10¹ + 7 × 10⁰ = 300 + 40 + 7. Aritmetiskt två använder samma princip med potenser av 2 istället för potenser av 10.
Aritmetiskt tvås platsvärdesreferens
Den 8-bitars byte är den grundläggande enheten för datorminnet. Här är den fullständiga platsvärdes-tabellen för 8-bitars tal (0–255):
| Bit position | Potens av 2 | Decimalvärde |
|---|---|---|
| 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 |
Ett byte kan representera något värde från 0 (00000000₂) till 255 (11111111₂). Två byte (16 bitar) täcker 0–65 535. Fyra byte (32 bitar) täcker 0–4 294 967 295.
Utökade potenser av 2-tabellen
För programmerare och datavetare är det viktigt att känna till potenser av 2 upp till 2⁶⁴ för att förstå minnesadressering, datatyper och systemgränser:
| Potens | Decimalvärde | Betydelse |
|---|---|---|
| 2⁰ | 1 | Minsta enhet (1 bit) |
| 2⁸ | 256 | 1 byte-intervall (0–255) |
| 2¹⁰ | 1 024 | 1 KiB (kibibyte) |
| 2¹⁶ | 65 536 | 16-bit-intervall; TCP-portgräns |
| 2²⁰ | 1 048 576 | 1 MiB (mebibyte) |
| 2²⁴ | 16 777 216 | 24-bit-färg (16,7 miljoner färger) |
| 2³⁰ | 1 073 741 824 | 1 GiB (gibibyte) |
| 2³² | 4 294 967 296 | 32-bit-adressutrymme; IPv4-max |
| 2⁴⁰ | 1 099 511 627 776 | 1 TiB (tebibyte) |
| 2⁶⁴ | 18 446 744 073 709 551 616 | 64-bit-adressutrymme; moderna CPU:er |
Observera skillnaden mellan binära prefix (KiB, MiB, GiB — potenser av 2) och SI-prefix (KB, MB, GB — potenser av 10). 1 GB = 1 000 000 000 byte; 1 GiB = 1 073 741 824 byte. Denna ~7% skillnad förklarar varför en "500 GB" hårddisk visas som ~465 GiB i ditt operativsystem (som vanligtvis använder binära enheter internt).
Vanliga binära värden i datorprogrammering
De binära värdena som förekommer ofta i programmering, nätverk och systemadministration:
| Binär | Decimal | Hexadecimal | Betydelse |
|---|---|---|---|
| 00000000 | 0 | 0x00 | NULL-byte, svart färgkanal |
| 00001010 | 10 | 0x0A | Radavslut (LF) tecken — Unix radavslut |
| 00001101 | 13 | 0x0D | Radavslut (CR) — Windows radavslut del |
| 00100000 | 32 | 0x20 | Tomma tecken (ASCII) |
| 01000001 | 65 | 0x41 | ASCII 'A' |
| 01100001 | 97 | 0x61 | ASCII 'a' (skiljer sig från 'A' med bit 5) |
| 01111111 | 127 | 0x7F | Localhost-IP (sista oktetten); DEL-tecknet |
| 10000000 | 128 | 0x80 | Början av utökade ASCII / teckenbit |
| 11000000 | 192 | 0xC0 | Klass C-nätverksprefix (192.x.x.x) |
| 11111111 | 255 | 0xFF | Utsändning; max byte; vitt i RGB |
Binär, hexadecimal och oktal jämförelse
Programmerare använder olika talbas beroende på sammanhang. Här är hur samma värden visas i varje system:
| Decimal | Binär | Hexadecimal | Okta | Användningsområde |
|---|---|---|---|---|
| 0 | 0000 | 0x0 | 0o0 | Noll / null |
| 7 | 0111 | 0x7 | 0o7 | Unix-rättigheter (rwx) |
| 10 | 1010 | 0xA | 0o12 | — |
| 15 | 1111 | 0xF | 0o17 | Max 4-bit (nibble) |
| 16 | 10000 | 0x10 | 0o20 | — |
| 127 | 1111111 | 0x7F | 0o177 | Max signerad 8-bit |
| 255 | 11111111 | 0xFF | 0o377 | Max omarkerad 8-bit |
| 511 | 111111111 | 0x1FF | 0o777 | Unix-rättigheter rwxrwxrwx |
| 1023 | 1111111111 | 0x3FF | 0o1777 | Max 10-bit (ADC) |
Hexadecimal är den vanligaste förkortningen för binär eftersom varje hexadecimal-siffra motsvarar exakt 4 binära bitar — vilket gör omvandlingen enkel. Okta motsvarar 3 bitar per siffra och används främst för Unix-filrättigheter (t.ex. chmod 755 = 111 101 101 i binär = rwxr-xr-x).
Signade Binära Tal (Tvås Komplicerad)
Datorer representerar negativa tal med tvås komplement — standarden definierad av IEEE och använd av nästan alla moderna processorer. I ett 8-bitars tvås komplement-system:
| Binärt | Ogiltig Decimal | Signerat (Tvås Komplicerad) |
|---|---|---|
| 00000000 | 0 | 0 |
| 00000001 | 1 | +1 |
| 01111111 | 127 | +127 (max positiv) |
| 10000000 | 128 | −128 (min negativ) |
| 10000001 | 129 | −127 |
| 11111110 | 254 | −2 |
| 11111111 | 255 | −1 |
För att negera ett tal i tvås komplement: invertera alla bitar och lägg till 1. Till exempel, +5 = 00000101 → invertera → 11111010 → lägg till 1 → 11111011 = −5.
De vanliga intervallen för heltalstyper:
| Typ | Bitar | Ogiltig Räckvidd | Signerad Räckvidd |
|---|---|---|---|
| byte / uint8 | 8 | 0 till 255 | −128 till +127 |
| short / int16 | 16 | 0 till 65 535 | −32 768 till +32 767 |
| int / int32 | 32 | 0 till 4 294 967 295 | −2 147 483 648 till +2 147 483 647 |
| long / int64 | 64 | 0 till 18,4 × 10¹⁸ | −9,2 × 10¹⁸ till +9,2 × 10¹⁸ |
Binära Tal i Vardagslivet
Binära tal är grunden för all modern datorberäkning eftersom transistorer har två stabila tillstånd (på/off, 1/0). Nyckelfunktioner:
- Filstorlekar: 1 kilobyte = 2¹⁰ = 1 024 byte; 1 megabyte = 2²⁰ = 1 048 576 byte; 1 gigabyte = 2³⁰ byte
- Färger: RGB-färger är tre 8-bitars värden. #FF5733 i hex = (255, 87, 51) i decimal = (11111111, 01010111, 00110011) i binärt
- ASCII- kodning: Bokstaven 'A' = decimal 65 = binärt 01000001; 'a' = 97 = 01100001
- Unicode: De flesta texttecken passar i 16-bitars binära (0–65 535 intervall)
- IP-adresser: IPv4-adresser är fyra 8-bitars binära grupper: 192.168.1.1 = 11000000.10101000.00000001.00000001
Att förstå binära tal direkt hjälper i programmering (bitvisa operationer, flaggor), nätverk (IP/subnet beräkningar), och arbete med låg-nivå hårdvara.
Binära Beräkningar: Addition och Subtraktion
Binära beräkningar följer samma regler som decimal, men med bara två siffror. Additionstabellen är:
| A | B | Summa | Överförd |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 |
Exempel: 1011 + 0110
Arbeta från höger till vänster: 1+0=1, 1+1=10 (skriv 0 överför 1), 0+1+1=10 (skriv 0 överför 1), 1+0+1=10 (skriv 0 överför 1). Resultat: 10001 (decimal: 11+6=17)
Subtraktion i hårdvara utförs vanligtvis genom att lägga till tvås komplement av subtrahenden. För att beräkna A−B beräknar processorn A + (−B), där −B är tvås komplement av B. Detta tillåter ett enda adder-circuit att hantera både addition och subtraktion.
Bitvisa Operationer
Programmeringsspråk tillhandahåller bitvisa operatörer som manipulerar enskilda bitar. Dessa är grundläggande för låg-nivå programmering, inbyggda system och prestandaoptimering:
| Operation | Symbol | Exempel (8-bit) | Resultat | Användningsområde |
|---|---|---|---|---|
| AND | & | 10110101 & 11110000 | 10110000 | Maskera bitar, extrahera fält |
| OR | | | 10110101 | 00001111 | 10111111 | Sätta bitar, kombinera flaggor |
| XOR | ^ | 10110101 ^ 11111111 | 01001010 | Toggla bitar, enkel kryptering |
| NOT | ~ | ~10110101 | 01001010 | Bitinversion |
| Left shift | << | 00000101 << 2 | 00010100 | Multiplicera med 2ⁿ |
| Right shift | >> | 00010100 >> 2 | 00000101 | Dividiera med 2ⁿ |
Bitshifting är betydligt snabbare än multiplikation/division i många processorer. x << 1 är liktydigt med x × 2, och x >> 1 är liktydigt med x ÷ 2 (helhetsdivision). Spelmotorer och inbyggda firmware använder dessa operationer omfattande för prestanda.
Binärt Kodat Decimal (BCD)
Binärt Kodat Decimal representerar varje decimal siffra med sin egen 4-bitars binära mönster. I motsats till rent binärt bevarar BCD den decimala strukturen:
| Decimal | Rent Binärt | 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 är mindre platsbesparande än rent binärt (10 av de 16 möjliga 4-bitars kombinationerna används), men det förenklar decimal display — varje nibbel mappar direkt till ett visat tecken. BCD används i digitala klockor, kalcular, finansiella system (där exakt decimal representation är viktig), och äldre huvudminnesdatabaser (COBOL, IBM EBCDIC).