¿Cuántos números puedes representar con 2 bytes?


Mejor respuesta

65536.

Noto que muchas respuestas dicen cosas como «puedes representar números de 0 a 65535 ”, pero eso es realmente arbitrario. También puede representar todos los números del -5 al 65530 o todos los números pares del 2 al 131072, o todos los números 1, 1/2, 1/3,…, 1/65536. Pero la pregunta es, ¿cuántos distintos números pueden ser representados por dos bytes?

Si se utilizan dos bytes para representar números, eso significa que definimos alguna función mapeando los 65536 posibles valores distintos que pueden tomar esos dos bytes, a los números que representan estos valores.

Si esa función es inyectiva, entonces la imagen de la función es del mismo tamaño que su dominio, por lo que contendrá 65536 números distintos que se pueden representar. Si la función es no inyectiva (varios valores de los dos bytes se asignan al mismo número), entonces su imagen es más pequeña que su dominio, por lo que dicho esquema representan menos de 65536 números distintos.

(Un escenario práctico en el que esto podría suceder es si se usa un bit como bit de signo: en tal caso, a menudo hay dos representaciones diferentes del número 0, uno con el bit de signo establecido y otro con el bit de signo limpio).

Respuesta

Un byte es un conjunto de 8 bits. Un bit puede ser 1 o 0. Un byte puede ser, por ejemplo:

11110000

El nombre del sistema numérico es binario. Puede convertir cualquier número binario en un decimal usando esta fórmula:

de derecha a izquierda:

(valor del primer dígito) * 2 ^ 0 + (valor del segundo dígito) * 2 ^ 1 + (valor del tercer dígito) * 2 ^ 2 +…

La longitud de un byte es 2 ^ 8 = 256, de 0 a 255.

Pero, 2 bytes no son 512, porque la conversión incluye más dígitos. Para 2 bytes tenemos 2 ^ 16 = 2 ^ 8 * 2 ^ 8 = 256 * 256 = 65536

El valor máximo es la longitud – 1. ¡Entonces el valor máximo es 65535!

Perdón por mi mal inglés 🙂

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *