Vai al contenuto
100% locale

Convertitore del complemento a due

Converti un numero intero nel suo pattern di bit di complemento a due con la larghezza prescelta, o decodifica i bit per ottenere un numero.

Ingresso

Convertitore del complemento a due

I computer memorizzano numeri negativi utilizzando il complemento a due, non un semplice segno meno — lo stesso pattern di bit rappresenta un valore diverso a seconda che venga letto come numero con segno o senza segno. Questo strumento converte in entrambe le direzioni: digita un numero intero per riga e produce il pattern di bit di complemento a due corrispondente alla larghezza scelta, o cambia direzione e incolla i pattern di bit per ottenere il valore decimale con segno (o senza segno) che ciascuno rappresenta.

Scegli una larghezza di bit di 8, 16, 32 o 64 e un formato di output binario o esadecimale. L'opzione "Con segno" controlla come viene interpretato un valore: quando è attivata, un pattern di bit viene letto come complemento a due (quindi il bit superiore significa negativo) e un numero deve rientrare nell'intervallo con segno per quella larghezza; quando è disattivata, entrambe le direzioni trattano gli stessi bit come un ordinario numero intero senza segno. Alternare la direzione scambia la codifica per la decodifica senza perdere l'input, quindi verificare una conversione andata e ritorno è un solo clic.

L'overflow è il punto in cui il complemento a due diventa confuso, quindi questo strumento lo rende visibile invece di nasconderlo: un numero al di fuori dell'intervallo di larghezza scelto si avvolge comunque nel modo in cui lo fa l'hardware reale — questo avvolgimento è il pattern di complemento a due corretto, non un bug — ma le righe interessate sono anche contrassegnate e conteggiate nel riepilogo, quindi un overflow involontario in un lotto di valori non passa inosservato. Disattiva questo contrassegno se stai deliberatamente esplorando il comportamento di avvolgimento e non desideri che venga indicato.

Incolla un'intera colonna di numeri o pattern di bit in una volta; ogni riga viene convertita indipendentemente e le righe vuote vengono preservate in modo che il risultato rimanga allineato con l'input. Tutto viene eseguito localmente nel tuo browser — nulla che inclli, incluse costanti proprietarie o valori del firmware, viene mai caricato da nessuna parte.

FAQ

Cos'è il complemento a due, in una frase?
È il modo standard in cui i computer rappresentano gli interi negativi in binario: gli stessi bit che rappresentano un grande numero positivo quando letti come senza segno rappresentano un numero negativo quando il bit più significativo viene letto come segno, e le due letture differiscono esattamente di 2^larghezza.
Perché un valore viene contrassegnato come "fuori intervallo" invece di dare semplicemente un errore?
L'avvolgimento è il comportamento corretto del complemento a due per un valore al di fuori dell'intervallo, non un fallimento, quindi lo strumento produce comunque i bit avvolti. Contrassegna le righe interessate in modo che un overflow accidentale in un elenco di numeri sia facile da individuare; disattiva "Contrassegnare valori fuori intervallo" se non desideri la notifica.
Cosa cambia l'opzione "Con segno"?
Quando è attivata, la decodifica tratta il bit più significativo come un segno (complemento a due standard) e la codifica richiede che il numero rientri in un intervallo con segno come -128..127 a 8 bit. Quando è disattivata, gli stessi bit vengono letti come un ordinario valore senza segno da 0 a 2^larghezza - 1.
Posso convertire un intero elenco di numeri in una volta?
Sì. Incolla un numero (o un pattern di bit durante la decodifica) per riga e ogni riga viene convertita indipendentemente, nello stesso ordine, con le righe vuote preservate.
I miei dati vengono caricati da qualche parte?
No. La conversione viene eseguita interamente nel tuo browser — nulla di ciò che digiti o inclli viene mai inviato a un server.