Quanti numeri puoi rappresentare con 2 byte?


Risposta migliore

65536.

Ho notato che molte risposte dicono cose come “puoi rappresentare numeri da 0 a 65535 “, ma è davvero arbitrario. Puoi anche rappresentare tutti i numeri da -5 a 65530 o tutti i numeri pari da 2 a 131072 o tutti i numeri 1, 1/2, 1/3,…, 1/65536. Ma la domanda è: quanti numeri distinti possono essere rappresentati da due byte?

Se due byte sono usati per rappresentare numeri, significa che definiamo una funzione che associa i 65536 possibili valori distinti che questi due byte possono assumere, ai numeri che questi valori rappresentano.

Se quella funzione è iniettiva, quindi limmagine della funzione ha le stesse dimensioni del suo dominio, quindi conterrà 65536 numeri distinti che possono essere rappresentati. Se la funzione è non iniettiva (più valori dei due byte mappati allo stesso numero), la sua immagine è più piccola del suo dominio, quindi un tale schema rappresentano meno di 65536 numeri distinti.

(Uno scenario pratico in cui ciò potrebbe accadere è se un bit viene utilizzato come bit di segno: in tal caso, ci sono spesso due diverse rappresentazioni del numero 0, uno con il bit di segno impostato e uno con il bit di segno chiaro.)

Risposta

Un byte è un insieme di 8 bit. Un bit può essere 1 o 0. Un byte può essere, ad esempio:

11110000

Il nome del sistema numerico è binario. Puoi convertire ovunque un numero binario in un decimale utilizzando questa formula:

da destra a sinistra:

(valore prima cifra) * 2 ^ 0 + (valore seconda cifra) * 2 ^ 1 + (valore della terza cifra) * 2 ^ 2 +…

La lunghezza di un byte è 2 ^ 8 = 256, da 0 a 255.

Ma, 2 byte non sono 512, perché la conversione include più cifre. Per 2 byte abbiamo 2 ^ 16 = 2 ^ 8 * 2 ^ 8 = 256 * 256 = 65536

Il valore massimo è la lunghezza – 1. Quindi il valore massimo è 65535!

Scusa per il mio cattivo inglese 🙂

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *