Skip to main content
CheckTown
Converters

Binaire calculator: bitsgewijze bewerkingen uitgelegd

Gepubliceerd 5 min lezen
In dit artikel

Wat is binaire rekenkunde?

Binaire rekenkunde is wiskunde uitgevoerd in grondtal 2, met alleen de cijfers 0 en 1. Elke digitale computer verwerkt gegevens als binair op hardwareniveau -- gehele getallen, drijvende-kommagetallen, geheugenadressen en zelfs tekst worden uiteindelijk opgeslagen en bewerkt als reeksen bits. Het begrijpen van binair is essentieel voor low-level programmering, netwerken en digitale logica.

Naast eenvoudige optelling en aftrekking omvat binaire rekenkunde bitsgewijze bewerkingen: AND, OR, XOR, NOT en bitverschuivingen. Deze bewerkingen werken op individuele bits en zijn fundamenteel voor taken zoals het instellen van permissievlaggen, het berekenen van checksums, het maskeren van IP-adressen en het optimaliseren van prestatiekritische code.

Hoe bitsgewijze bewerkingen werken

Bitsgewijze operatoren verwerken gehele getallen bit voor bit. Elke bewerking heeft een waarheidstabel die de uitvoer definieert voor elke combinatie van invoerbits.

  • AND, OR, XOR -- AND (&) geeft 1 alleen als beide bits 1 zijn, OR (|) geeft 1 als een van de bits 1 is, en XOR (^) geeft 1 als de bits verschillen. Gebruikt voor maskering, het combineren van vlaggen en het wisselen van bits
  • NOT en verschuivingen -- NOT (~) keert alle bits om, linksverschuiving (<<) vermenigvuldigt met machten van 2, en rechtsverschuiving (>>) deelt door machten van 2. Rekenkundige rechtsverschuiving behoudt het tekenbit voor negatieve getallen
  • Twee-complement -- moderne computers vertegenwoordigen negatieve gehele getallen met twee-complement, waarbij -1 alle bits op 1 heeft. Dit laat dezelfde hardware zowel optelling als aftrekking uitvoeren zonder apart circuit

Probeer gratis — geen aanmelding vereist

Binaire bewerkingen berekenen →

Wanneer bitsgewijze bewerkingen gebruiken

Bitsgewijze bewerkingen worden gebruikt in systeemprogrammering, netwerken en prestatie-gevoelige toepassingen.

  • Permissievlaggen -- Unix-bestandspermissies (rwxr-xr-x = 0755) gebruiken bitvelden waar elk bit een specifieke permissie vertegenwoordigt, gecontroleerd met AND en ingesteld met OR
  • Subnetmaskers -- netwerkingenieurs gebruiken AND-bewerkingen tussen IP-adressen en subnetmaskers om netwerkgrenzen te bepalen en verkeer correct te routeren
  • Grafisch en kleurmanipulatie -- pixelkleuren opgeslagen als 0xRRGGBB-gehele getallen gebruiken bitverschuivingen en maskers om individuele rode, groene en blauwe kanalen te extraheren of wijzigen

Veelgestelde vragen

Wat is het verschil tussen signed en unsigned integers?

Unsigned integers gebruiken alle bits voor de grootte, dus een 8-bit unsigned integer loopt van 0 tot 255. Signed integers reserveren het hoogste bit voor het teken (positief of negatief), dus een 8-bit signed integer loopt van -128 tot 127 met twee-complement. De keuze beïnvloedt hoe rechtsverschuiving en vergelijkingsbewerkingen zich gedragen.

Is bitverschuiving hetzelfde als vermenigvuldigen of delen door 2?

Linksverschuiving met n posities is equivalent aan vermenigvuldigen met 2^n voor niet-negatieve gehele getallen. Rechtsverschuiving deelt door 2^n, maar het gedrag voor negatieve getallen hangt af van het type verschuiving: rekenkundig (behoudt teken) of logisch (vult met nullen). In de meeste talen is >> rekenkundig voor signed typen en >>> (waar beschikbaar) logisch.

Waarom zijn bitsgewijze bewerkingen nog relevant in moderne code?

Bitsgewijze bewerkingen worden uitgebreid gebruikt in feature-vlaggen, permissiesystemen, netwerkprotocollen, cryptografie, hashfuncties, grafische rendering en datacompressie. Ze worden uitgevoerd in een enkele CPU-cyclus en gebruiken geen extra geheugen, waardoor ze ideaal zijn voor prestatiekritische paden. Moderne frameworks gebruiken ze ook intern -- React gebruikt ze voor effectvlaggen en Linux voor bestandspermissies.

Gerelateerde Tools