Hoppa till innehåll
100% lokalt

Tvåkomplementkonvertor

Konvertera ett heltal till dess tvåkomplementbitmönster med vald bitbredd, eller avkoda bitar tillbaka till ett tal.

Inmatning

Tvåkomplementkonvertor

Datorer lagrar negativa tal med tvåkomplement, inte med ett enkelt minustecken — samma bitmönster betyder ett annat värde beroende på om det läses som ett tal med tecken eller utan tecken. Det här verktyget konverterar i båda riktningarna: skriv ett heltal per rad och det producerar motsvarande tvåkomplementbitmönster i den valda bredden, eller byt riktning och klistra in bitmönster för att få det signerade (eller osignerade) decimalvärde som var och en representerar.

Välj en bitbredd på 8, 16, 32 eller 64 — de storlekar som riktiga processorer och programmeringsspråk faktiskt använder för en byte, short, int och long — och ett utdataformat av rent binär eller hexadecimal. Alternativet "Signerad" styr hur ett värde tolkas: när det är påslaget läses ett bitmönster som tvåkomplement (så toppbiten betyder negativt) och ett tal måste passa inom det signerade intervallet för den bredden; när det är avstängt behandlar båda riktningarna samma bitar som ett vanligt osignerat heltal. Om du byter riktning ersätts kodning med avkodning utan att förlora din inmatning, så att kontrollera en fram-och-tillbaka-konvertering är bara ett klick bort.

Överbesparing är där tvåkomplement blir förvirrande, så det här verktyget gör det synligt i stället för att dölja det: ett tal utanför det valda breddsintervallet sveper fortfarande på samma sätt som verklig hårdvara gör det — denna svepning är det korrekta tvåkomplementmönstret, inte en bugg — men de påverkade raderna är också markerade och räknade i sammanfattningen, så en oavsiktlig överbesparing i en bunt värden undgår inte märkning. Stäng av denna markering om du avsiktligt utforskar överbespringsbeteende och inte vill att det ska markeras.

Klistra in en hel kolumn med tal eller bitmönster på en gång; varje rad konverteras oberoende och tomma rader behålls så att resultatet förblir justerat med ingången. Allt körs lokalt i din webbläsare — ingenting som du skriver eller klistrar in, inklusive proprietära konstanter eller firmware-värden, överförs någonsin någonstans.

FAQ

Vad är tvåkomplement i en mening?
Det är standardsättet på vilket datorer representerar negativa heltal i binär: samma bitar som när de läses som osignerat tal betyder ett stort positivt tal betyder ett negativt tal när toppbiten läses som tecken, och de två tolkningarna skiljer sig exakt med 2^bredd.
Varför markeras ett värde som "utanför intervallet" i stället för bara ett fel?
Översvämning är det korrekta tvåkomplementbeteendet för ett värde utanför intervallet, inte ett fel, så verktyget producerar fortfarande de överförda bitarna. Den markerar de påverkade raderna så att en oavsiktlig överbesparing i en lista med tal lätt syns; stäng av "Markera värden utanför intervallet" om du inte vill ha detta meddelande.
Vad ändrar alternativet "Signerad"?
När det är påslaget behandlar avkodning toppbiten som ett tecken (standard tvåkomplement) och kodning kräver att talet passar inom ett signerat intervall som -128..127 vid 8 bitar. När det är avstängt läses samma bitar som ett vanligt osignerat tal från 0 till 2^bredd - 1.
Kan jag konvertera en helt lista med tal på en gång?
Ja. Klistra in ett tal (eller ett bitmönster när du avkodar) per rad och varje rad konverteras oberoende, i samma ordning, med sparade tomma rader.
Överförs mina data någonstans?
Nej. Konverteringen körs helt i din webbläsare — ingenting som du skriver eller klistrar in överförs någonsin till en server.