WikiPlus

El sistema binario en informática — guía con conversor interactivo

El sistema binario es la base de toda la informática moderna. Los transistores de un procesador solo pueden estar en dos estados: encendido (1) o apagado (0). Todo lo que un ordenador procesa —texto, imágenes, vídeo, programas— se representa internamente como secuencias de ceros y unos. Entender por qué los ordenadores usan base 2 y cómo se traduce entre binario y decimal es fundamental para cualquier persona que estudia informática o trabaja en desarrollo de software o electrónica.

Por qué los ordenadores usan base 2 y no base 10

Los ordenadores usan base 2 porque sus componentes básicos —los transistores— son conmutadores de dos estados. Un transistor está saturado (conduciendo corriente, equivalente a '1') o en corte (sin corriente, equivalente a '0'). No hay estado intermedio estable. Representar más de dos valores con un transistor individual requeriría distinguir niveles de voltaje muy próximos, lo que sería muy sensible al ruido eléctrico. Con solo dos estados, el sistema es robusto frente a variaciones de temperatura, voltaje y envejecimiento del componente. La base 2 es la representación natural de los transistores: un bit es el estado de un transistor, un byte es el estado de ocho transistores.

Sistemas de posición: cómo funciona la aritmética binaria

La aritmética posicional funciona igual en cualquier base: el valor de cada dígito depende de su posición. En decimal, los valores posicionales son potencias de 10 (unidades, decenas, centenas). En binario, los valores posicionales son potencias de 2 (1, 2, 4, 8, 16, 32...). El número binario 10110 se lee como: 1×16 + 0×8 + 1×4 + 1×2 + 0×1 = 16 + 0 + 4 + 2 + 0 = 22 en decimal. Para convertir de decimal a binario, se divide sucesivamente por 2 y se registran los restos: 22÷2=11 r0, 11÷2=5 r1, 5÷2=2 r1, 2÷2=1 r0, 1÷2=0 r1. Leyendo los restos de abajo a arriba: 10110. El conversor hace estos cálculos instantáneamente para cualquier número.

Bits, bytes y representación de datos

Un bit es la unidad mínima de información: un cero o un uno. Un byte son 8 bits, que puede representar 256 valores distintos (2⁸ = 256), suficiente para los caracteres del código ASCII. Un kilobyte son 1024 bytes (2¹⁰). Un megabyte son 1024 kilobytes. Un gigabyte son 1024 megabytes. Los colores en una imagen se representan típicamente como 24 bits (8 bits por canal RGB): 16.777.216 colores posibles (2²⁴). El audio CD usa 16 bits por muestra, que da 65.536 niveles de amplitud posibles. Una dirección IPv4 son 32 bits, lo que permite 2³² ≈ 4.300 millones de direcciones únicas.

Complemento a dos: números negativos en binario

Los enteros negativos en los sistemas informáticos se representan en complemento a dos. Para obtener el complemento a dos de un número positivo: invierte todos los bits (complemento a uno) y suma 1. Por ejemplo, −5 en 8 bits: 5 es 00000101, su complemento a uno es 11111010, sumando 1 es 11111011. Esta representación tiene la ventaja de que la suma de números positivos y negativos usa exactamente el mismo circuito que la suma de positivos, sin necesidad de una unidad aritmética separada para negativos. El bit más significativo (el de mayor posición) actúa como bit de signo: 0 para positivo, 1 para negativo.

Preguntas frecuentes

¿Cuántos valores puede representar un número de n bits?
Un número de n bits puede representar 2ⁿ valores distintos. Un bit: 2 valores (0 y 1). 4 bits (nibble): 16 valores (0-15). 8 bits (byte): 256 valores (0-255). 16 bits: 65.536 valores. 32 bits: 4.294.967.296 valores. 64 bits: 18.446.744.073.709.551.616 valores. Para enteros con signo usando complemento a dos, la mitad de los valores son negativos: un byte con signo va de −128 a +127.
¿Por qué los colores CSS usan 6 dígitos hexadecimales?
Cada color RGB tiene tres canales (Rojo, Verde, Azul) con valores de 0 a 255 (8 bits cada uno). En hexadecimal, los valores de 0 a 255 se representan con exactamente 2 dígitos (00 a FF). Los tres canales juntos son 6 dígitos hexadecimales: dos para rojo, dos para verde, dos para azul. #FF0000 es rojo puro (255, 0, 0). #00FF00 es verde puro. #0000FF es azul puro. #FFFFFF es blanco (255, 255, 255) y #000000 es negro (0, 0, 0).
¿Cómo se interpretan los permisos de archivos en octal en Linux?
chmod 755 en Linux establece los permisos rwxr-xr-x. Cada dígito octal representa 3 bits de permisos: el primer dígito (7 = 111 en binario) es para el propietario (lectura+escritura+ejecución), el segundo (5 = 101) para el grupo (lectura+ejecución), el tercero (5 = 101) para otros. El octal es conveniente porque cada dígito representa exactamente 3 bits de permiso, que es exactamente la granularidad del sistema de permisos Unix.