Mantenere i valori interi esatti e il segno esplicito
La base cambia il modo in cui un valore viene scritto, non il valore in sé. Il decimale 255, il binario 11111111, l'ottale 377 e l'esadecimale FF descrivono lo stesso intero non negativo. La notazione posizionale assegna a ogni cifra una potenza della base. Leggendo da sinistra a destra, si può ricostruire il valore moltiplicando il totale parziale per la base e sommando la cifra successiva.
I valori grandi richiedono particolare attenzione. I normali numeri in virgola mobile di JavaScript non possono rappresentare esattamente ogni intero superiore a 9.007.199.254.740.991. Questo convertitore accumula le cifre con aritmetica intera, quindi un identificativo come 9.007.199.254.740.993 conserva la sua ultima cifra. I limiti di input restano comunque in vigore per mantenere lo spazio di lavoro reattivo: l'aritmetica esatta non significa una dimensione di input illimitata.
I pattern di bit con segno richiedono una larghezza. In complemento a due su otto bit, FF rappresenta meno uno; su sedici bit, 00FF rappresenta il positivo 255. In questa modalità, l'input decimale viene interpretato come il valore con segno da codificare. L'input delle altre basi viene interpretato come pattern di bit non negativo. Il convertitore rifiuta l'overflow invece di scartare silenziosamente i bit alti e mostra l'interpretazione della prima riga valida.
Quando converti un elenco, usa un intero per riga. Le righe vuote vengono saltate, ma la loro posizione resta riflessa nei risultati. Le righe non valide riportano una spiegazione, mentre quelle valide restano disponibili. Questo strumento esclude intenzionalmente i numeri frazionari, la notazione scientifica e la decodifica da byte a testo. Si tratta di operazioni che seguono regole diverse. Per un messaggio codificato in byte binari o esadecimali, utilizza invece il traduttore di testo correlato.