Saltar a contenido

Elementos de un ordenador. Simuladores hardware

Representación de la información

Unidades de medida

  • Bit (unidad mínima, 0/1) y byte (8 bits).

A tener en cuenta

Distinción entre b (bit) y B (byte): una conexión de 600 Mb/s no descarga 600 MB/s, sino unos 75 MB/s.

  • Prefijos decimales (SI) frente a prefijos binarios (IEC). Es la razón por la que un disco de 1 TB aparece en el sistema como ~931 GiB.
Decimal (SI) Valor Binario (IEC) Valor
kB 10³ KiB 2¹⁰ = 1024
MB 10⁶ MiB 2²⁰
GB 10⁹ GiB 2³⁰
TB 10¹² TiB 2⁴⁰
  • Otras magnitudes del sistema: frecuencia (MHz/GHz), ancho de banda (MB/s, GB/s), latencia (ns, ms), IOPS, potencia (W), temperatura (°C).

Sistemas de representación

  • Sistemas de numeración: binario, octal, decimal, hexadecimal. Conversiones entre bases y agrupación binario ↔ hexadecimal (4 bits = 1 dígito hex). Si queréis profundizar, tenéis este apartado.
  • Enteros con signo: signo-magnitud y complemento a 2. Rango representable con n bits. Desbordamiento.
  • Reales: introducción a la coma flotante IEEE 754 (signo, exponente, mantisa) y a los errores de redondeo (0.1 + 0.2 != 0.3).
  • Caracteres: ASCII, ISO-8859-15 y Unicode/UTF-8. Por qué UTF-8 es el estándar actual y de dónde salen los "caracteres raros" al abrir un fichero con la codificación equivocada.
  • Multimedia: muestreo, profundidad de bits, resolución; compresión con y sin pérdida.

En esta playlist tienes como podemos pasar de un sistema de represnación a otro.

Conversión del número 288 a binario y hexadecimal?

Base Valor
Decimal 288₁₀
Binario 100100000₂
Hexadecimal 120₁₆ (0x120)

  1. De decimal a binario (divisiones sucesivas entre 2)

El método consiste en dividir el número entre 2 repetidamente, anotando el resto de cada división (que solo puede ser 0 o 1), hasta llegar a un cociente de 0. El número binario se forma leyendo los restos de abajo hacia arriba, es decir, del último al primero.

Paso División Cociente Resto
1 288 ÷ 2 144 0
2 144 ÷ 2 72 0
3 72 ÷ 2 36 0
4 36 ÷ 2 18 0
5 18 ÷ 2 9 0
6 9 ÷ 2 4 1
7 4 ÷ 2 2 0
8 2 ÷ 2 1 0
9 1 ÷ 2 0 1

Paramos en el paso 9 porque el cociente ya es 0.

Ahora leemos la columna de restos de abajo arriba (del paso 9 al paso 1):

1 0 0 1 0 0 0 0 0

288₁₀ = 100100000₂

El primer resto obtenido es el bit menos significativo (el de la derecha) y el último es el bit más significativo (el de la izquierda). Por eso se lee al revés.

Comprobación por sumas de potencias de 2

Otra forma de llegar al mismo resultado: buscar la mayor potencia de 2 que cabe en el número e ir restando.

  • La mayor potencia de 2 menor o igual que 288 es 256 (2⁸). → 288 − 256 = 32
  • La mayor potencia de 2 menor o igual que 32 es 32 (2⁵). → 32 − 32 = 0 Así que 288 = 256 + 32 = 2⁸ + 2⁵. Colocamos un 1 en las posiciones 8 y 5, y un 0 en el resto:
Posición 8 7 6 5 4 3 2 1 0
Valor (2ⁿ) 256 128 64 32 16 8 4 2 1
Bit 1 0 0 1 0 0 0 0 0

256 + 32 = 288 ✔ Coincide con el resultado de las divisiones.

Hacen falta 9 bits para representar 288. Con 8 bits solo se llega hasta 255, así que este número no cabe en un byte sin signo.

  1. De decimal a hexadecimal (divisiones sucesivas entre 16)

El procedimiento es idéntico, pero dividiendo entre 16. Los restos van de 0 a 15, y los valores del 10 al 15 se escriben con letras: A=10, B=11, C=12, D=13, E=14, F=15.

Paso División Cociente Resto Dígito hex
1 288 ÷ 16 18 0 0
2 18 ÷ 16 1 2 2
3 1 ÷ 16 0 1 1

Leemos los restos de abajo arriba:

1 2 0

288₁₀ = 120₁₆ = 0x120

Comprobación

Multiplicamos cada dígito por su peso (potencias de 16):

1 × 16²  +  2 × 16¹  +  0 × 16⁰
= 1 × 256 + 2 × 16 + 0 × 1
= 256 + 32 + 0
= 288  ✔

  1. Atajo: de binario a hexadecimal directamente

Como 16 = 2⁴, cada dígito hexadecimal equivale exactamente a 4 bits. Esto permite convertir sin pasar por decimal.

Partimos del binario y agrupamos de 4 en 4 desde la derecha, rellenando con ceros a la izquierda si el último grupo queda incompleto:

100100000   →   1 0010 0000   →   0001 0010 0000
                                └─┬┘ └─┬┘ └─┬┘
                                    1    2    0
Grupo de 4 bits Valor decimal Dígito hex
0001 1 1
0010 2 2
0000 0 0

Resultado: 0x120 ✔ Coincide con el apartado 2.

Este atajo funciona igual en sentido inverso: cada dígito hexadecimal se sustituye por sus 4 bits y se obtiene el binario directamente. Es la razón por la que el hexadecimal se usa tanto en informática: es una forma compacta de escribir binario (3 dígitos hex frente a 9 bits) sin perder la correspondencia directa con los bits.

  1. Resumen del procedimiento

  2. A binario: divisiones sucesivas entre 2 → leer restos de abajo arriba.

  3. A hexadecimal: divisiones sucesivas entre 16 → leer restos de abajo arriba (10–15 como A–F).
  4. Atajo binario ↔ hexadecimal: agrupar los bits de 4 en 4 desde la derecha.
  5. Comprobar siempre: multiplicar cada dígito por su peso (potencia de la base) y sumar. Debe dar el número original.
    288₁₀  =  100100000₂  =  120₁₆
    

Activicades

  • AC 0101. Convierte a las bases indicadas:

    1. 183₁₀ → binario y hexadecimal
    2. 1101 0110₂ → decimal y hexadecimal
    3. 0x3F7 → decimal y binario.
  • AC 0102. Un disco anunciado como 2 TB aparece en el sistema como 1,81 TiB. Justifica la diferencia con el cálculo exacto.

  • AC 0103. Tu conexión es de 300 Mb/s simétricos. ¿Cuánto tardarías, en el mejor de los casos, en descargar una ISO de LliureX de 4,7 GB? Indica las conversiones.