Binaire Calculator
Voer binaire optelling, aftrekking, vermenigvuldiging en deling uit. Reken om tussen binair en decimaal. Gratis wiskunde calculator.
De Binairse Systeem: Hoe Computers Telligen
De binairse systeem (basis-2) gebruikt alleen twee cijfers — 0 en 1 — genoemd bits (binair cijfer). Elke computer, smartphone en digitale apparaten slaan en verwerken alle informatie intern in binair, omdat elektrische circuits twee verschillende toestanden betrouwbaar kunnen vertegenwoordigen: hoogspanning (1) en laagspanning (0).
Elke positie in een binair getal vertegenwoordigt een macht van 2, van rechts naar links:
| Positie | 2⁷ | 2⁶ | 2⁵ | 2⁴ | 2³ | 2² | 2¹ | 2⁰ |
|---|---|---|---|---|---|---|---|---|
| Waarde | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
Binair naar decimaal omrekenen: Vermenigvuldig elke bit met zijn plaatswaarde en som alle resultaten.
Forbeeld: 10110101₂ = 1×128 + 0×64 + 1×32 + 1×16 + 0×8 + 1×4 + 0×2 + 1×1 = 128 + 32 + 16 + 4 + 1 = 181
Decimaal naar binair omrekenen: Deel herhaaldelijk door 2, en noteer de rest bij elke stap, en lees de resten van onderen naar boven.
Forbeeld: 181 naar binair:
- 181 ÷ 2 = 90 rest 1
- 90 ÷ 2 = 45 rest 0
- 45 ÷ 2 = 22 rest 1
- 22 ÷ 2 = 11 rest 0
- 11 ÷ 2 = 5 rest 1
- 5 ÷ 2 = 2 rest 1
- 2 ÷ 2 = 1 rest 0
- 1 ÷ 2 = 0 rest 1
Lees resten van onderen naar boven: 10110101₂ ✓
Binair Rekenen: Optellen, Aftrekken en Vermenigvuldigen
Binair rekenen volgt dezelfde regels als decimaal, maar carry gebeurt bij 2 in plaats van 10.
Binair optellen regels: 0+0=0, 0+1=1, 1+0=1, 1+1=10 (carry 1), 1+1+1=11 (carry 1)
Forbeeld: 1011₂ + 1101₂ (11 + 13 = 24)
1011 + 1101 ------ 11000
Werken van rechts naar links: 1+1=10 (schrijf 0, carry 1); 1+0+1=10 (schrijf 0, carry 1); 0+1+1=10 (schrijf 0, carry 1); 1+1+1=11 (schrijf 1, carry 1); laatste carry schrijft 1. Resultaat: 11000₂ = 24 ✓
Two's complement (binair aftrekken): Computers hanteren negatieve getallen en aftrekken met behulp van twee's complement vertegenwoordiging. Om de twee's complement van een getal te vinden: keer alle bits om, en voeg 1 toe.
Forbeeld: −13 in 8-bit twee's complement: +13 = 00001101₂ → keer alle bits om → 11110010₂ → voeg 1 toe → 11110011₂
Dit maakt aftrekken mogelijk als optellen: 20 − 13 = 20 + (−13).
Binair vermenigvuldigen is elegant: elke deelproduct is 0 (vermenigvuldigen met 0) of het getal zelf (vermenigvuldigen met 1), verschoven naar links. Forbeeld: 1011₂ × 101₂ (11 × 5 = 55):
1011
× 101
-----
1011 (1011 × 1)
0000 (1011 × 0, verschoven)
1011 (1011 × 1, verschoven tweemaal)
-------
110111₂ = 55 ✓
Binair in de Computer: Bits, Bytes en Gegevensgrootte
Omgaan met binair eenheden is essentieel voor iedereen die met computers, opslag of netwerk snelheden werkt:
| Einheid | Grootte | Maximum Waarde (ongesigneerd) | Gebruikelijke Toepassing |
|---|---|---|---|
| Bit | 1 binair cijfer | 1 | Boolean vlag, enkel binair waarde |
| Nibble | 4 bits | 15 (hex: F) | Een hexadecimale cijfer |
| Byte | 8 bits | 255 | Enkel karakter (ASCII), kleurenkanaal |
| Woord | 16 bits | 65.535 | Legacy 16-bit systemen, Unicode basis |
| Double Word (DWORD) | 32 bits | 4.294.967.295 | 32-bits getallen, IPv4-adressen |
| Quad Word (QWORD) | 64 bits | 18.446.744.073.709.551.615 | Modern getallen, pointers, timestamps |
Kleurenwaarden: Webkleuren gebruiken 24-bits RGB (8 bits per kanaal). #FF5733 = R:255, G:87, B:51. Elk 8-bits kanaal kan 256 schaduwen (0–255) vertegenwoordigen. Totaal mogelijke kleuren: 256³ = 16.777.216 (ongeveer 16,7 miljoen).
Bestandsrechten in Unix/Linux: rwxr-xr-- = 111 101 100 in binair = 7, 5, 4 in octaal = chmod 754. Elke set van 3 bits vertegenwoordigt leesrechten (r=4), schrijfrechten (w=2) en uitvoerrechten (x=1) voor eigenaar, groep en anderen.
Bitwise Operaties en hun Toepassingen
Bitwise operaties manipuleren individuele bits binnen gehele getallen. Zij zijn fundamenteel voor laag niveau programmeren, cryptografie, netwerkprogrammeren en prestatie-kritische code.
| Operatie | Symbool | Gedrag | Voorbeeld |
|---|---|---|---|
| EN | & | 1 als BEIDE bits 1 zijn | 1010 & 1100 = 1000 |
| OF | | | 1 als EEN van de bits 1 is | 1010 | 1100 = 1110 |
| XOR | ^ | 1 als bits verschillend zijn | 1010 ^ 1100 = 0110 |
| NOT | ~ | Alle bits omdraaien | ~1010 = 0101 |
| Links verschuiven | << | Bits naar links verschuiven (×2 per verschuiving) | 1011 << 1 = 10110 (×2) |
| Rechts verschuiven | >> | Bits naar rechts verschuiven (÷2 per verschuiving) | 1011 >> 1 = 0101 (÷2) |
Praktische toepassingen:
- Bitmasking: Controleer of een specifieke bit is ingesteld:
if (flags & 0b0100) { ... }— controleert of bit 2 1 is. - Bit instellen:
flags = flags | 0b0100— stelt bit 2 in op 1 ongeacht de huidige waarde. - Bit wissen:
flags = flags & ~0b0100— maakt bit 2 0. - Snelle vermenigvuldiging/verdeling door machten van 2:
n << 3= n × 8;n >> 2= n ÷ 4. Bitverschuivingen zijn CPU-niveau operaties, aanzienlijk sneller dan vermenigvuldiging. - Even/oneven controleren:
if (n & 1) { /* oneven */ }— de laatste bit van elke oneven getal is altijd 1.
Getallenstelsels Vergelijking: Binair, Octaal, Decimaal, Hexadecimaal
Computerwetenschap gebruikt vier getallenstelsels, elk geschikt voor verschillende contexten:
| Stelsel | Grond | Cijfers | Algemene Toepassing |
|---|---|---|---|
| Binair (grond-2) | 2 | 0, 1 | CPU-operaties, opslag, logica |
| Octaal (grond-8) | 8 | 0–7 | Unix-bestandsrechten, oude systemen |
| Decimaal (grond-10) | 10 | 0–9 | Leesbare getallen |
| Hexadecimaal (grond-16) | 16 | 0–9, A–F | Geheugenadressen, kleurcodes, machinecode |
Snelle omzetting: binair ↔ hex (4 binair cijfers = 1 hexadecimaal cijfer):
| Binair | Hex | Decimaal | Binair | Hex | Decimaal |
|---|---|---|---|---|---|
| 0000 | 0 | 0 | 1000 | 8 | 8 |
| 0001 | 1 | 1 | 1001 | 9 | 9 |
| 0010 | 2 | 2 | 1010 | A | 10 |
| 0011 | 3 | 3 | 1011 | B | 11 |
| 0100 | 4 | 4 | 1100 | C | 12 |
| 0101 | 5 | 5 | 1101 | D | 13 |
| 0110 | 6 | 6 | 1110 | E | 14 |
| 0111 | 7 | 7 | 1111 | F | 15 |
Deze 4-bits-groep maakt hexadecimaal uitermate geschikt als een compacte notatie voor binair gegevens: de 32-bits-waarde 11001010 00111111 10110101 00001100 is veel gemakkelijker te schrijven als CA3FB50C.
Binair in Netwerk: IP-adressen en Subnetmasks
Omgaan met binair is essentieel voor netwerkengineering omdat IPv4-adressen fundamenteel 32-bits binair getallen zijn, en subnetten — het proces van netwerken — volledig op binair operaties berust.
Een IPv4-adres als 192.168.1.100 is leesbaar notatie voor de 32-bits binair waarde:
11000000.10101000.00000001.01100100
Een subnetmask bepaalt welke deel van het adres de netwerk en welk deel de host identificeert. De mask 255.255.255.0 in binair is:
11111111.11111111.11111111.00000000
De bitwise AND van het IP-adres en subnetmask geeft het netwerkadres:
| Component | Decimaal | Binair |
|---|---|---|
| IP-adres | 192.168.1.100 | 11000000.10101000.00000001.01100100 |
| Subnetmask | 255.255.255.0 | 11111111.11111111.11111111.00000000 |
| Netwerk (AND) | 192.168.1.0 | 11000000.10101000.00000001.00000000 |
CIDR-notatie (bijv., /24) vertelt je hoeveel leidende 1-bits er in de subnetmask zijn. Een /24-mask heeft 24 eenheden gevolgd door 8 nullen, waardoor 2⁸ − 2 = 254 bruikbare hostadressen per subnet zijn. Een /16-mask toestaat 65.534 hosts. Netwerkengineers gebruiken binair mentale wiskunde dagelijks om subnets te plannen, broadcastadressen te berekenen en routingproblemen op te lossen.
Binaire in Cryptografie en Veiligheid
Modern encryptiealgoritmes werken volledig op het niveau van de binaire code, manipuleren van individuele bits door combinaties van XOR, bitverschuivingen en substitutieoperaties. Begrip van binaire code is de sleutel tot het begrijpen van hoe digitale beveiliging werkt.
XOR-encryptie (de basis van moderne ciphers): XOR heeft een unieke eigenschap — het toepassen ervan tweemaal met dezelfde sleutel keert de oorspronkelijke waarde terug: A ⊕ K ⊕ K = A. Dit maakt XOR de basis van stroomciphers en eenmalig pads.
Forbeeld: het encrypteren van het byte 01001101 (letter 'M' in ASCII) met sleutel 10110010:
- Plaintext: 01001101
- Sleutel: 10110010
- XOR (encrypteren): 11111111
- XOR opnieuw met dezelfde sleutel (decrypteren): 01001101 = 'M' ✓
Sleutelgrootte in moderne encryptie: AES-128 gebruikt een 128-bits sleutel, wat betekent dat er 2¹²⁸ ≈ 3,4 × 10³⁸ mogelijke sleutels zijn — meer dan het aantal atomen in het waarneembare universum. AES-256 gebruikt 256-bits sleutels met 2²⁵⁶ mogelijkheden. zelfs de snelste supercomputers kunnen deze sleutelruimtes niet brute-force.
Hashfuncties zoals SHA-256 produceren een 256-bits (32-byte) binaire uitvoer uit elke invoer. Een enkele bitwijziging in de invoer produceert een volledig andere hash — een eigenschap genaamd de "avalanche-effect" die hashes nuttig maakt voor het controleren van de integriteit van gegevens, het opslaan van wachtwoorden en het aansturen van blockchain-technologie.
Binaire en kwantumrekenen: Terwijl klassieke computers binaire bits (0 of 1) gebruiken, gebruiken kwantumcomputers qubits die tegelijkertijd in beide toestanden kunnen bestaan. Een klassieke 256-bits sleutel heeft 2²⁵⁶ mogelijke waarden die moeten worden gecontroleerd in sequentie; een kwantumcomputer die Grover's algoritme uitvoert, kan deze ruimte in √(2²⁵⁶) = 2¹²⁸ operaties zoeken. Dit is waarom post-quantum cryptografie wordt ontwikkeld — om binaire-gebaseerde encryptieschema's te creëren die veilig blijven tegen kwantumadversen.
Veelgestelde vragen
Waarom gebruiken computers binair in plaats van decimaal?
Elektronische schakelingen zijn het meest betrouwbaar met slechts twee verschillende toestanden: aan (hoogspanning ≈ 1) en uit (lage spanning ≈ 0). Het voorstellen van 10 verschillende toestanden voor decimaal zou veel nauwkeuriger spanningstoezicht vereisen en zou veel meer vatbaar zijn voor elektrische ruis. De eenvoud van binair maakt het mogelijk om miljarden transistors betrouwbaar te laten werken op GHz-snelheden met miljarden operaties per seconde.
Wat is de grootste getal dat een byte kan bevatten?
Een byte (8 bits) kan 2⁸ = 256 verschillende waarden voorstellen. Voor ongetekende gehele getallen: 0 tot 255. Voor getallen met teken (twee's complement): −128 tot 127. Het maximale ongetekende bytegetal in binair is 11111111₂ = 255; in hex is het FF.
Hoe kan ik een negatief getal omzetten naar binair?
Gebruik twee's complement: (1) Zet de positieve versie om naar binair, (2) Keer alle bits om (0→1, 1→0), (3) Voeg 1 toe. Voorbeeld — −13 in 8-bits: +13 = 00001101₂, keer bits om = 11110010₂, voeg 1 toe = 11110011₂. Dit is de manier waarop alle moderne computers negatieve gehele getallen opslaan.
Wat is de verschillen tussen binair en hexadecimaal?
Beide zijn positiesysteem voor getallen die in de computer worden gebruikt. Binair (basis-2) gebruikt alleen 0 en 1 — de moedertaal van computers. Hexadecimaal (basis-16) gebruikt 0-9 en A-F als een compacte notatie voor binair — elk 4 binair getal correspondeert met exact 1 hexadecimaal getal. Hexadecimaal wordt gebruikt voor geheugensadressen, kleurcodes (#RRGGBB) en machinecode omdat het compacterend en leesbaarder is dan rauw binair.
Wat worden bitwise operaties gebruikt voor?
Bitwise operaties (AND, OR, XOR, NOT, verschuivingen) manipuleren individuele bits binnen gehele getallen. Gewone toepassingen: vlaggen en rechten (Unix chmod), controleren of even/oneven (n & 1), snelle vermenigvuldiging/verdeling door machten van 2 (bitverschuivingen), encryptiealgoritmen, hashfuncties, CRC-foutdetectie, netwerksubnetmasks en gameontwikkeling (compacte staat opslaan in een enkel geheel getal).
Wat is binair decimaal en waarom is 0,1 + 0,2 ≠ 0,3 in programmeren?
De meeste moderne computers gebruiken IEEE 754 binair decimaal, wat decimalen in binair voorstelt. Net zoals 1/3 = 0,3333... niet exact kan worden voorsteld in decimaal, kan 1/10 niet exact worden voorsteld in binair (het is een oneindig herhalend binair getal). Dit veroorzaakt kleine afrondingsfouten: in de meeste talen is 0,1 + 0,2 = 0,30000000000000004. Gebruik geheel getal aritmetiek (werk in centen, niet in dollars) of decimallibraries voor exacte financiële berekeningen.
Hoe wordt binair gebruikt in gegevensopslag en bestandsgrootte?
Opslag wordt gemeten in bytes (8 bits), kilobytes (1.024 bytes), megabytes (1.024 KB), gigabytes (1.024 MB), etc. Opmerking: harde schijfleveranciers gebruiken SI-voorvoegsels (1 KB = 1.000 bytes) terwijl besturingssystemen binair voorvoegsels gebruiken (1 KiB = 1.024 bytes), waardoor er een "verdwenen ruimte" verschil lijkt te zijn wanneer je opslag koopt. Een 1 TB schijf toont ~931 GiB in Windows omdat 1.000.000.000.000 ÷ 1.073.741.824 ≈ 931.
Wat is binair decimaal (BCD)?
BCD codeert elk decimaal getal als een 4-bits binair groep: 0=0000, 1=0001, ..., 9=1001. Dus decimaal 93 in BCD is 1001 0011. BCD wordt gebruikt in financiële systemen (vermijdt afrondingsfouten in decimaal), digitale klokken en displays (7-segment displays decoderen BCD rechtstreeks) en oude mainframesystemen. Het is minder ruimte-efficiënt dan zuiver binair maar elimineert decimaal-binair converteerfouten in kritische toepassingen.