Guía del sistema binario
Binary Number System
The binary system uses only two digits: 0 and 1. This is the basic language of computers, where 0 means no electricity (off) and 1 means electricity (on). Binary numbers are longer than decimal, but easier to implement in digital electronics. A byte is 8 bits (e.g., 10101010₂ = 170₁₀).
Conversión a binario
Para convertir de decimal a binario, divide entre 2 y anota los restos. Ejemplo: 42 ÷ 2 = 21 resto 0, 21 ÷ 2 = 10 resto 1, 10 ÷ 2 = 5 resto 0, 5 ÷ 2 = 2 resto 1, 2 ÷ 2 = 1 resto 0, 1 ÷ 2 = 0 resto 1. Leyendo de abajo arriba: 101010₂ = 42₁₀.
Aplicaciones en programación
El binario se usa en máscaras de bits, permisos de archivos (p. ej. chmod 755 = 111101101), direcciones IPv4 y colores RGB (rojo #FF0000 = 11111111 00000000 00000000). La RAM se direcciona por bits. Booleano: verdadero=1, falso=0.
IPv6 no es cuatro veces mayor que IPv4. Es 2⁹⁶ veces mayor
Los recuentos de bits son exponentes, y los exponentes derrotan a la intuición. Una dirección IPv6 tiene cuatro veces los bits de una IPv4, lo que suena a cuádruple capacidad. En realidad es unas 79 cuatrillones de veces mayor, porque cada bit adicional duplica el rango.
Cómo funciona
- Convierte entre binario, decimal, hexadecimal y octal.
- Muestra cuántos valores distintos puede representar un número dado de bits.
- Hace explícita la duplicación, que es la parte que más se resiste a estimarse.
valores = 2^bits 8 bits → 256 un byte, 0–255 16 bits → 65.536 un número de puerto 32 bits → 4.294.967.296 una dirección IPv4 64 bits → 1,8 × 10¹⁹ marcas de tiempo en nanosegundos un bit más siempre duplica el rango
Ejemplo resuelto
Comparar espacios de direcciones y ver de dónde salen los límites conocidos.
- IPv4 tiene 32 bits: 2³² = 4.290 millones de direcciones
- IPv6 tiene 128 bits: 2¹²⁸ ≈ 3,4 × 10³⁸
- la razón es 2¹²⁸ ÷ 2³² = 2⁹⁶
- 2⁹⁶ ≈ 7,9 × 10²⁸, no 4
Cuatro veces los bits son 2⁹⁶ veces las direcciones. La misma aritmética explica por qué el 255 aparece en todas partes: ocho bits dan 256 valores, numerados del 0 al 255.
Cómo leer el resultado
- El hexadecimal existe porque es binario compacto. Un dígito hexadecimal son exactamente cuatro bits, así que dos dígitos son un byte, y de ahí que los colores se escriban como #RRGGBB y que 0xFF sea 255, o 11111111.
- El octal son tres bits por dígito, y por eso los permisos de archivo de Unix vienen de tres en tres: 755 son tres grupos de indicadores de lectura, escritura y ejecución empaquetados en un dígito cada uno.
- El agotamiento de IPv4 era predecible solo con el exponente. 32 bits limitan internet a 4.290 millones de direcciones se asignen como se asignen, y ese techo era visible décadas antes de alcanzarse.
- Los enteros con signo gastan un bit en el signo, lo que reduce a la mitad el rango positivo. Un valor con signo de 32 bits llega hasta 2.147.483.647 en lugar de 4.294.967.295: origen de muchísimos errores de desbordamiento.
Preguntas frecuentes
- ¿Por qué un byte va de 0 a 255 y no de 1 a 256?
- Porque se cuenta desde cero. Ocho bits dan 2⁸ = 256 patrones distintos; el primero representa el cero, así que el último representa el 255. La cuenta es 256; el máximo es 255.
- ¿Por qué usar hexadecimal en vez de binario directamente?
- Densidad sin pérdida. Cada dígito hexadecimal corresponde exactamente a cuatro bits, así que un byte son siempre dos caracteres y la conversión es mecánica. Escribir 11111111 en lugar de FF es cuatro veces más largo y mucho más fácil de contar mal.