Ga naar inhoud
100% lokaal

Twee's complement converter

Converteer een geheel getal naar het twee's complement-bitpatroon met gekozen bitbreedte, of decodeer bits terug naar een getal.

Invoer
Uitvoer

Twee's complement converter

Computers slaan negatieve getallen op met twee's complement, niet met een eenvoudig min-teken — hetzelfde bitpatroon betekent een andere waarde afhankelijk van of het als ondertekend of onondertekend getal wordt gelezen. Dit hulpmiddel converteert in beide richtingen: typ één geheel getal per regel en het produceert het overeenkomstige twee's complement-bitpatroon in de gekozen breedte, of wissel van richting en plak bitpatronen om de ondertekende (of onondertekende) decimale waarde te krijgen die elk vertegenwoordigt.

Kies een bitbreedte van 8, 16, 32 of 64 — de groottes die echte CPU's en programmeertalen werkelijk gebruiken voor een byte, short, int en long — en een uitvoerindeling van zuiver binair of hexadecimaal. De optie "Ondertekend" bepaalt hoe een waarde wordt geïnterpreteerd: als deze is ingeschakeld, wordt een bitpatroon gelezen als twee's complement (dus het topbit betekent negatief) en moet een getal binnen het ondertekende bereik voor die breedte passen; als deze is uitgeschakeld, behandelen beide richtingen dezelfde bits als een gewoon onondertekend geheel getal. Het wisselen van richting vervangt codering voor decodering zonder uw invoer te verliezen, dus het controleren van een retourconversie is één klik verwijderd.

Overflow is waar twee's complement verwarrend wordt, dus dit hulpmiddel maakt het zichtbaar in plaats van het te verbergen: een getal buiten het gekozen bereik van de breedte loopt nog steeds op dezelfde manier over als echte hardware het doet — deze overloop is het juiste twee's complement-patroon, niet een bug — maar de betreffende regels zijn ook gemarkeerd en geteld in de samenvatting, dus een onbedoelde overflow in een reeks waarden ontgaat niet opgemerkt. Schakel deze markering uit als u het overloopgedrag opzettelijk onderzoekt en het niet gemarkeerd wilt hebben.

Plak een hele kolom getallen of bitpatronen tegelijk in; elke regel wordt onafhankelijk geconverteerd en lege regels blijven behouden, zodat het resultaat op één lijn staat met de invoer. Alles draait lokaal in uw browser — niets wat u invoert, inclusief propriëtaire constanten of firmware-waarden, wordt ooit ergens geüpload.

FAQ

Wat is twee's complement in één zin?
Het is de standaardmanier waarop computers negatieve gehele getallen in binair vertegenwoordigen: dezelfde bits die als onondertekend getal gelezen een groot positief getal betekenen, betekenen als ondertekend getal een negatief getal wanneer het topbit als teken wordt gelezen, en de twee interpretaties verschillen precies met 2^breedte.
Waarom wordt een waarde gemarkeerd als "buiten bereik" in plaats van gewoon een fout?
Overloop is het juiste twee's complement-gedrag voor een waarde buiten het bereik, geen fout, dus het hulpmiddel produceert nog steeds de overgelopen bits. Het markeert de betreffende regels, zodat een onbedoelde overflow in een lijst met getallen gemakkelijk opvalt; schakel "Waarden buiten bereik markeren" uit als u deze waarschuwing niet wilt.
Wat verandert de optie "Ondertekend"?
Als ingeschakeld, behandelt decodering het topbit als een teken (standaard twee's complement) en vereist codering dat het getal in een ondertekend bereik past, zoals -128..127 bij 8 bits. Indien uitgeschakeld, worden dezelfde bits gelezen als een gewoon onondertekend getal van 0 tot 2^breedte - 1.
Kan ik een hele lijst met getallen tegelijk converteren?
Ja. Plak één getal (of één bitpatroon bij decodering) per regel en elke regel wordt onafhankelijk geconverteerd, in dezelfde volgorde, met behouden lege regels.
Worden mijn gegevens ergens geüpload?
Nee. Conversie wordt volledig in uw browser uitgevoerd — niets wat u invoert of plakt, wordt ooit naar een server verzonden.