Si ha tenido una computadora por más tiempo que una pausa para tomar café, habrá visto los términos bits y bytes. Son las unidades estándar para medir la RAM, la capacidad del disco duro y el tamaño de los archivos en cualquier visor de archivos moderno.
Es posible que escuche un argumento de venta que afirma que una máquina tiene un procesador Pentium de 32 bits con 64 megabytes de RAM y 2,1 gigabytes de espacio en el disco duro. Estas especificaciones aparecen constantemente en guías técnicas y tutoriales. Comprender lo que realmente significan estos términos le ayudará a dejar de adivinar y empezar a saber.
Números decimales
Para comprender un poco, compárelo con algo familiar: dígitos.
Un dígito es un espacio único para un valor entre 0 y 9. Los combinamos para formar números más grandes. Tome 6.357. Tiene cuatro dígitos. El 7 se encuentra en el “lugar de los 1”. El 5 está en el lugar de las decenas. El 3 está en el lugar de las centenas. El 6 ocupa el lugar de los miles.
Puedes escribir eso explícitamente:
(6 * 1000) + (3 * 100) + (5 * 10) + (7 * 1) = 6000 + 300 + 50 + 7 = 6357
O utilice potencias de 10. Usando el símbolo de intercalación (^) para “a la potencia de”, se ve así:
(6 * 10^3) + (3 * 10^2) + (5 * 10^1) + (10^0) = 6000 + 300 + 50 + 7 = 6357
Cada dígito es un marcador de posición para la siguiente potencia superior de 10. El primer dígito comienza en 10^0.
Esto parece normal porque utilizamos un sistema base-10 a diario. Probablemente exista porque los humanos tenemos diez dedos. Si evolucionáramos con ocho dedos, probablemente usaríamos un sistema de base 8. Puedes usar cualquier base que quieras. Diferentes bases tienen sentido en diferentes contextos.
Las computadoras usan el sistema numérico de base 2. También se le conoce como sistema numérico binario.
El sistema Base-2 y el byte de 8 bits
Las computadoras usan base-2 porque es barata. Podrías construir una computadora base 10. Sería endiabladamente caro. El hardware Base-2 es relativamente asequible.
Entonces las computadoras usan números binarios. Usan dígitos binarios en lugar de dígitos decimales. La palabra bit acorta “Binary digIT”.
Los dígitos decimales tienen 10 valores: del 0 al 9. Los bits solo tienen dos valores: 0 y 1. Un número binario es solo una cadena de 0 y 1, como 1011.
Para encontrar el valor, use potencias de base 2 en lugar de base 10.
(1 * 2^3) + (0 * 2^2) + (1 * 2^1) + (1 * 2^0) = 8 + 0 + 2 + 1 = 11
Cada bit representa potencias crecientes de 2. Contar en binario es sencillo. Así es como se comparan los decimales y los binarios del 0 al 20:
- 0 = 0
- 1 = 1
- 2 = 10
- 3 = 11
- 4 = 100
- 5 = 101
- 6 = 110
- 7 = 111
- 8 = 1000
- 9 = 1001
- 10 = 1010
- 11 = 1011
- 12 = 1100
- 13 = 1101
- 14 = 1110
- 15 = 1111
- 16 = 10000
- 17 = 10001
- 18 = 10010
- 19 = 10011
- 20 = 10100
Observe el remanente. En el número 2, el binario se transporta por primera vez. Si un bit es 1 y le sumas 1, se convierte en 0 y el siguiente bit se convierte en 1. Pasar de 15 a 16 pasa por cuatro bits, convirtiendo 1111 en 10000.
Los bits rara vez viajan solos. Están agrupados en colecciones de 8 bits. Estos paquetes se denominan bytes.
¿Por qué ocho bits en un byte? Es como preguntar por qué hay 12 huevos en una docena. La gente se decidió por los 8 bits mediante prueba y error durante los últimos 50 años.
Con 8 bits, puedes representar 256 valores. Van de 0 a 255.
- 0 = 00000000
- 1 = 00000001
- 2 = 00000010
*… - 254 = 11111110
- 255 = 11111111
En Cómo funcionan los CD, aprenderá que un CD utiliza 2 bytes por muestra. Eso es 16 bits. Cada muestra puede variar de 0 a 65.535.
- 0 = 0000000000000000
- 1 = 0000000000000001
- 2 = 0000000000000010
*… - 65534 = 1111111111111110
- 65535 = 1111111111111111
A continuación, veremos una forma en que se utilizan los bytes.
Cómo la codificación ASCII y las matemáticas binarias potencian sus datos
El texto no es mágico. Son sólo números disfrazados.
Cuando escribes una oración, tu computadora no ve letras. Ve valores binarios. Específicamente, se basa en el juego de caracteres ASCII estándar para convertir las pulsaciones de teclas en datos. En este sistema, cada valor binario del 0 al 127 se asigna a un carácter específico. La mayoría de los sistemas extienden esto a 256 valores usando un byte completo, agregando letras acentuadas y símbolos para idiomas internacionales.
Pero los 128 códigos centrales son donde se encuentra la base.
Considere el Bloc de notas de Windows 95/98. Si escribe “Hace cuatro y siete años”, el software asigna exactamente un byte de memoria por carácter. Esto incluye los espacios entre palabras. El espacio es el código ASCII 32. El punto es 46. ‘A’ es 65.
Pruébelo usted mismo.
Cree un archivo llamado getty.txt. Escribe esa oración. Guárdalo. Abra su explorador de archivos. El tamaño es de 30 bytes. ¿Por qué? Porque hay 30 caracteres. Añade una palabra. El archivo crece según el número de letras de esa palabra. Es una proporción directa de 1:1.
Abra el archivo como datos sin procesar y las letras desaparecerán. Ves números.
Estas son representaciones decimales de códigos ASCII. Para ser técnicamente preciso, la máquina sólo ve binario. 32 se convierte en “00100000”. Pero la lógica se mantiene: cada byte contiene un carácter.
Los primeros 32 valores (del 0 al 31) no son letras. Son códigos de control. El carruaje regresa. Avances de línea. Suena la campana. Los caracteres imprimibles reales comienzan en 32. La puntuación viene a continuación. Luego dígitos. Luego mayúsculas. Luego minúscula. Puede ver el gráfico completo en Unicode.org, pero el principio es simple. El almacenamiento de texto es solo una lista de estos números enteros.
Comprensión de los prefijos de bytes y las matemáticas binarias
Una vez que comprendes que los datos son solo bytes, te encuentras con un nuevo problema: la escala.
Un byte es pequeño. La mayoría de los archivos son enormes. Entonces necesitamos prefijos.
Usamos prefijos de bytes para indicar magnitud. Kilo, mega, giga. Estos no son sólo términos de marketing. Son multiplicadores binarios.
- Kilo (K): $2^{10}$ = 1.024 bytes
- Mega (M): $2^{20}$ = 1.048.576 bytes
- Giga (G): $2^{30}$ = 1.073.741.824 bytes
- Tera (T): $2^{40}$ = ~1,1 billones de bytes
- Peta (P): $2^{50}$ = ~1,1 mil billones de bytes
- Exa (E): $2^{60}$ = ~1,1 quintillones de bytes
- Zetta (Z): $2^{70}$
- Yotta (Y): $2^{80}$
Un kilo equivale aproximadamente a mil. Mega es un millón. Giga son mil millones.
Cuando alguien afirma que su disco duro tiene “2 gigabytes”, se refiere a $2 \times 2^{30}$ bytes. Exactamente 2.147.483.648 bytes.
Eso suena abstracto hasta que visualizas los datos. Un CD estándar tiene una capacidad de unos 650 megabytes. Tres CD llenan una unidad de 2 GB. Una base de datos de terabytes es común. Es probable que existan bases de datos de petabytes en las principales instalaciones gubernamentales. La escala crece exponencialmente.
Esto nos lleva a matemáticas binarias.
Funciona como matemática decimal, con una restricción estricta. Cada bit sólo puede ser 0 o 1.
En decimal contamos del 0 al 9. Cuando llegamos a 9 y sumamos 1, llevamos el 1 a la siguiente columna. Binario funciona de manera idéntica, pero el acarreo ocurre más rápido.
Tome la suma decimal:
Empiece bien. $2+1=3$. Siguiente columna: $5+5=10$. Escribe 0, lleva 1. Siguiente: $4+7+1(carry)=12$. Escribe 2, lleva 1. Final: $0+0+1=1$. Resultado: 1203.
Ahora, binario.
Bit más a la derecha: $0+1=1$. Sin transporte.
Segundo bit: $1+1=10$. Escribe 0, lleva 1.
Tercer bit: $0+1+1(carry)=10$. Escribe 0, lleva 1.
Cuarto bit: $0+0+1(carry)=1$.
El resultado es “1001”. En decimal, eso es 9. La matemática es idéntica. La representación es solo base 2 en lugar de base 10.
El resultado final
Los bits son dígitos binarios. Son 0 o 1.
Los bytes son grupos de 8 bits.
El texto es solo una secuencia de bytes asignados a códigos ASCII.
El tamaño de almacenamiento se mide en potencias binarias de 1024.
No es complicado. Es simplemente fundamental.
Para profundizar en la lógica booleana y las implementaciones de puertas, consulte cómo funciona la suma booleana. El resto es sólo contar en binario.




















