Saltar al contenido

Unidades y sistemas de numeración

Qué mide un bit y qué unidades se construyen sobre él, por qué un kilobyte ya no son 1024 bytes, cómo se pasa un número de una base a otra y las siete puertas lógicas con las que se combinan bits.

El bit, el cúbit y las unidades que se apilan encima

El bit es la unidad básica de información en la computación clásica: un dígito binario que solo puede valer 0 o 1. Su equivalente en computación cuántica es el cúbit o bit cuántico, que es la unidad básica de información de ese modelo.

Trabajar bit a bit es incómodo, así que se agrupan. Las agrupaciones pequeñas tienen nombre propio, y el byte es la que se ha impuesto como unidad práctica de medida.

UnidadBits
Bit1
Crumb2
Nibble4
Byte8

Un nibble es medio byte, y por eso un dígito hexadecimal cabe exactamente en un nibble.

Para el examen

  • Bit: 1 bit

  • Crumb: 2 bits

  • Nibble: 4 bits

  • Byte: 8 bits

  • Cúbit: la unidad de la computación cuántica

Múltiplos: el Sistema Internacional frente a los prefijos binarios

Durante años se llamó kilobyte tanto a 1000 bytes como a 1024. Ya no. El Sistema Internacional usa potencias de diez y sus prefijos de siempre (kilo, mega, giga), mientras que los múltiplos en potencias de dos tienen prefijos propios normalizados, que se escriben añadiendo una «i»: kibi, mebi, gibi.

Prefijo decimalValorPrefijo binarioValor
kilobyte (KB)10 elevado a 3kibibyte (KiB)2 elevado a 10 = 1024
megabyte (MB)10 elevado a 6mebibyte (MiB)2 elevado a 20
gigabyte (GB)10 elevado a 9gibibyte (GiB)2 elevado a 30
terabyte (TB)10 elevado a 12tebibyte (TiB)2 elevado a 40
petabyte (PB)10 elevado a 15pebibyte (PiB)2 elevado a 50
exabyte (EB)10 elevado a 18exbibyte (EiB)2 elevado a 60
zettabyte (ZB)10 elevado a 21zebibyte (ZiB)2 elevado a 70
yottabyte (YB)10 elevado a 24yobibyte (YiB)2 elevado a 80

Por encima del yotta, el Sistema Internacional incorporó en 2022 dos prefijos más: ronna (10 elevado a 27, ronnabyte o RB) y quetta (10 elevado a 30, quettabyte o QB). Son prefijos decimales; los prefijos binarios normalizados llegan hasta yobi.

Un kilobyte son 1000 bytes. Los 1024 de toda la vida se llaman ahora kibibyte, y la «i» del símbolo (KiB) es la que avisa.

Para el examen

  • KB frente a KiB: 1.000 frente a 1.024 bytes

  • Prefijos decimales: kilo, mega, giga, tera…

  • Prefijos binarios: kibi, mebi, gibi…: la «i» los delata

  • Prefijos decimales de 2022: ronna (10^27) y quetta (10^30)

  • Tope de los binarios: yobi

Los cuatro sistemas de numeración

Un sistema de numeración se define por su base, que no es más que cuántos símbolos distintos tiene disponibles. Cuando se acaban los símbolos hay que añadir una posición a la izquierda. Los cuatro que se manejan en informática son estos.

SistemaBaseSímbolosEjemplo
Decimal100 a 9429 en base 10
Binario20 y 1010010 en base 2
Octal80 a 773010 en base 8
Hexadecimal160 a 9 y A a FAF30101 en base 16

De ahí sale un error que se detecta al vuelo: un número escrito en octal no puede contener un 8 ni un 9, porque en base 8 esos símbolos no existen. Si se ve un 238 marcado como octal, el número es incorrecto sin necesidad de convertir nada.

Para el examen

  • Decimal: base 10

  • Binario: base 2

  • Octal: base 8: no existen el 8 ni el 9

  • Hexadecimal: base 16: dígitos 0-9 y letras A-F

Pasar cualquier base a decimal

Cada dígito de un número vale lo que dice el símbolo multiplicado por el peso de su posición, y ese peso es la base elevada a la posición que ocupa, contando desde cero y de derecha a izquierda. Sumando todos esos productos se obtiene el valor en decimal.

texto
101 en base 2
  1 x 2^0 = 1
  0 x 2^1 = 0
  1 x 2^2 = 4
  suma      = 5

231 en base 8
  1 x 8^0 = 1
  3 x 8^1 = 24
  2 x 8^2 = 128
  suma      = 153

El truco práctico en binario es no multiplicar nada: basta con recordar los pesos (1, 2, 4, 8, 16, 32, 64, 128) y sumar los que llevan un uno encima.

Para el examen

  • Método: cada dígito por su base elevada a la posición, y se suma

  • Desde dónde se cuenta: desde cero, por la derecha

Pasar de decimal y saltar entre binario, octal y hexadecimal

De decimal a binario se divide entre 2 una y otra vez, guardando el resto de cada división, hasta llegar a un cociente que ya no se puede dividir. El número binario se lee empezando por el último cociente y siguiendo por los restos, del último al primero. Para pasar a hexadecimal se hace lo mismo dividiendo entre 16, o se pasa antes a binario y luego se agrupa.

texto
100 entre 2
  100 : 2 = 50  resto 0
   50 : 2 = 25  resto 0
   25 : 2 = 12  resto 1
   12 : 2 =  6  resto 0
    6 : 2 =  3  resto 0
    3 : 2 =  1  resto 1

Se lee el ultimo cociente (1) y luego los restos hacia atras:
  100 en decimal = 1100100 en binario

Entre binario y las otras dos bases no hace falta dividir nada, porque 8 y 16 son potencias de 2. Se agrupan los bits desde la derecha: en bloques de 3 para pasar a octal y en bloques de 4 para pasar a hexadecimal, y cada bloque se traduce por separado.

texto
Binario a hexadecimal, bloques de 4:
  00011001  ->  0001 1001  ->  1 9  ->  19 en hexadecimal

Binario a octal, bloques de 3:
  00011001  ->  0 011 001  ->  0 3 1  ->  31 en octal

Bloques de 3 para octal, bloques de 4 para hexadecimal, y siempre agrupando desde la derecha.

Para el examen

  • De decimal a binario: divisiones sucesivas entre 2; se lee el último cociente y los restos hacia atrás

  • Binario a octal: bloques de 3 bits desde la derecha

  • Binario a hexadecimal: bloques de 4 bits desde la derecha

Operaciones lógicas: AND, OR y XOR

Con bits no se opera solo aritméticamente: también se combinan mediante operaciones lógicas, que trabajan bit a bit y devuelven otro bit. Las tres básicas se resumen en una frase cada una.

Entrada AEntrada BA AND BA OR BA XOR B
00000
01011
10011
11110
  • AND (conjunción): vale 1 solo si las dos entradas valen 1.
  • OR (disyunción): vale 1 si al menos una entrada vale 1.
  • XOR (disyunción exclusiva): vale 1 cuando las entradas son distintas, y 0 cuando coinciden.

XOR es el detector de diferencias: si las dos entradas son iguales da 0. De ahí que se use para comparar y para calcular paridad.

Para el examen

  • AND: 1 solo cuando las dos entradas son 1

  • OR: 1 cuando al menos una entrada es 1

  • XOR: 1 solo cuando las entradas difieren

NOT y las puertas negadas

A las tres anteriores les falta la más simple de todas: NOT, la negación. Es la única que trabaja con una sola entrada, y lo único que hace es darle la vuelta al bit, de 0 a 1 y de 1 a 0. Con ella se construyen las tres que quedan, que son AND, OR y XOR con la salida negada.

  • NOT (negación o inversor): una sola entrada. Devuelve el bit contrario.
  • NAND: es AND con la salida negada. Devuelve 0 únicamente cuando las dos entradas valen 1.
  • NOR: es OR con la salida negada. Devuelve 1 únicamente cuando las dos entradas valen 0.
  • XNOR (equivalencia): es XOR negada. Devuelve 1 cuando las dos entradas coinciden.
Entrada AEntrada BA NAND BA NOR BA XNOR B
00111
01100
10100
11001

Compara esta tabla con la anterior columna a columna: son las mismas salidas del revés. Esa es toda la regla, y es la forma de no tener que memorizar cuatro tablas más. En el símbolo del circuito la negación se dibuja como un círculo pequeño pegado a la salida de la puerta.

NAND y NOR tienen además una propiedad que se pregunta: son puertas universales. Con puertas NAND solas, o con puertas NOR solas, se puede construir cualquier función lógica, incluidas AND, OR y NOT. De ahí que la electrónica real se fabrique a base de ellas.

Las negadas se calculan en dos pasos: primero la puerta base y después la vuelta. Y ojo al matiz de NOR frente a NAND: NOR da 1 solo con dos ceros, NAND da 0 solo con dos unos.

Practica las puertas

sin responder todavía

Sale una operación y tú das el bit de salida. Apaga las puertas que no quieras practicar y el sorteo deja de proponerlas.

1AND0=?

Para el examen

  • NOT: una sola entrada: devuelve el bit contrario

  • NAND: 0 solo cuando las dos entradas son 1

  • NOR: 1 solo cuando las dos entradas son 0

  • XNOR: 1 cuando las entradas coinciden

  • Puertas universales: NAND y NOR: con una sola de ellas se construye cualquier función