¿Cuántos valores pueden representarse por [math] n [/ math] bits? ¿Cuántos bits se requieren para representar los valores [matemáticos] N [/ matemáticos]?

n bits pueden representar 2 ^ n valores (incluido 0) y, por el contrario, necesita al menos log2 (n) bits para representar n valores del rango 0 a n-1.

Para el primer caso, la lógica es: si tengo n bits, el bit de trapo puede estar “activado” o “desactivado”. Así que hay 2 formas de configurar el primer bit, 2 formas de configurar el segundo bit, y así sucesivamente. Esto significa que si n = 2, hay 4 formas de configurar los 2 bits. Lo cual tiene sentido, ya que son: 01, 11, 00, 10

Tomemos un ejemplo para el segundo caso: digamos que queremos representar 112 números entre 0–111 inclusive. Ahora sabemos que con n bits, puedo representar 2 ^ n valores. Todo lo que necesito es una n tal que 2 ^ n = 112.

Tomando logaritmos a la base 2 en ambos lados (la base realmente no importa aquí en realidad; ¿puedes decir por qué?) Obtenemos:

n * log2 (2) = n * 1 = log2 (112) = 6.807 …

Ahora sabemos que no podemos tener una cantidad fraccional de bits … ¡eso es una tontería! Además, podemos ver que definitivamente necesitamos más de 6 bits, por lo que podemos elegir n = 7, el número más pequeño de cantidad total de bits que es mayor que 6.807. ¡Hecho!

¡Espero que ayude!

[matemáticas] 2 ^ n [/ matemáticas].

P.ej.

[matemática] 2² = 4 [/ matemática] sería [matemática] 00, 01, 10, 11 [/ matemática].

[matemática] 2³ = 8 [/ matemática] sería [matemática] 000, 001, 010, 011, 100, 101, 110, 111 [/ matemática].

El valor decimal más alto que puede representarse mediante una palabra binaria de n bits sin signo es [matemática] 2 ^ n [/ matemática] [matemática] -1 [/ matemática]. Esto se debe a que siempre tienes 0 allí también.

Editar: corregido según el comentario de Alon Amit. Me satisface pensar que podría hacerlo bien mientras espero que mi vuelo termine de abordar.

n bits pueden representar valores [matemáticos] 2 ^ n [/ matemáticos].

Los valores N necesitan [math] \ lceil \ log_2 {N} \ rceil [/ math] bits.