Sistemas de numeración

Índice

1. El lenguaje de los ordenadores

  • Desde el punto de vista del usuario
    • Interfaces de comandos
    • Interfaces gráficas
    • Comandos por voz
    • Lenguajes de programación
  • Pero a bajo nivel
    • Solo hay números

matrix.png

2. Números

  • Estamos acostrumbrados a un sistema de numeración decimal
    • Tenemos 10 símbolos para los números
    • cuando llegamos al último, añadimos un acarreo

2.1. Contar con otras bases

  • ¿Cuántos PIN distintos puede tener una tarjeta bancaria?
  • ¿Cuántos números puedo expresar en un byte?
  • Más difícil: ¿Cuántas matrículas de automóvil hay?

2.2. Binario

  • ¿Cuántos símbolos podemos representar con el voltaje de los circuitos?
    • La mejor opción es 2: Sí hay corriente, no hay corriente
    • Es un sistema binario

2.3. Binario

Decimal Binario Decimal Binario
0 0 8 1000
1 1 9 1001
2 10 10 1010
3 11 11 1011
4 100 12 1100
5 101 13 1101
6 110 14 1110
7 111 15 1111

Intenta completar esta tabla hasta 11111(2

2.4. De binario a decimal

  • Cada dígito binario tiene el valor de una potencia de 2
  • Se suman sus valores
Dígitos binarios 0 1 0 0 1 1 0 1
Valor de la posición 128 64 32 16 8 4 2 1
Valor en este número 0 64 0 0 8 4 0 1
Suma total 77              

2.4.1. Ejercicios

  • Calcula el valor decimal de:
    • 1100101(2
    • 01101101(2
    • 100100100(2
  • Ampliación: Haz una hoja excel que permita hacer las cuentas anteriores

2.5. De decimal a binario

  1. Se divide entre 2 el número
  2. Apuntamos el resto
  3. Si el cociente es mayor que 0, volvemos al paso 1
  4. El número en binario son los restos en orden inverso

decimal-a-binario.jpg

Créditos: WiKihow

2.6. Ejercicios

  • Convierte a binario:
    • 154(10
    • 104(10
    • 54(10
    • 1054(10
    • 1045(10

2.7. Método rápido (restando en vez de dividiendo)

  • Para convertir 185(10 a binario:

    Por convertir Potencia de dos ¿Puedo restar? Para el siguiente paso
    185 128 1 185-128=57
    57 64 0  
    57 32 1 57-32=25
    25 16 1 25-16=9
    9 8 1 9-8=1
    1 4 0  
    1 2 0  
    1 1 1  
  • 10111001(2

2.8. Ejercicios

  • Convierte a binario por el método rápido:
    • 154(10
    • 104(10
    • 54(10
    • 1054(10
    • 1045(10

3. Otras bases numéricas

  • El número 10 y el número 2 no son más especiales que otros números
  • Los procedimientos descritos para binario valen para otras bases

3.1. Teorema fundamental de la numeración

  • Nuestros sistemas de numeración son posicionales

    • El valor de un dígito depende de su posición
    • Cada posición tiene un valor multiplicativo de la base elevada a la posición

    \[ (d_n,d_{n-1},...,d_2,d_1,d_0) = \sum_{i=0}^{n} d_i \cdot b^i \]

  • Más en la Wikipedia

3.2. Ejemplo: Base 3

Base 3              
Dígitos 0 1 0 0 1 2 0 1
Valor de la posición 2187 729 243 81 27 9 3 1
Valor en este número 0 729 0 0 27 18 0 1
Suma total 775              

3.3. Ejemplo: Base 5

Base 5              
Dígitos 0 0 0 0 1 2 0 1
Valor de la posición 78125 15625 3125 625 125 25 5 1
Valor en este número 0 0 0 0 125 50 0 1
Suma total 176              

3.4. Traducción entre bases distintas de 10

  • Para traducir de base A a base B
    • Traducir de base A a decimal (con el teorema fundamental de la numeración)
    • Traducir de decimal a base B (con divisiones sucesivas)

3.5. Bases numéricas utilizadas en informática

  • El binario es cómodo para los circuitos, pero no para las personas
  • A medio camino entre el binario y el decimal, se encuentran:
    • Números octales (base 8)
    • Números hexadecimales (base 16)

3.6. Ejercicios

  • Pasa a decimal (Ojo, uno tiene trampa):
    • 10F0(16
    • 1070(8
    • ABCDEFG(16
    • 1080(8

3.7. ¿Por qué estas bases? (8, 16)

  • Al ser 16 potencia de 2, puede cambiarse entre estas bases agrupando números
  • Ejemplo: Pasar 1A4(16 a binario

    1 0001
    A 1010
    4 0100
  • Por tanto, 1A4(16 es 0001 1010 0100(2

3.8. Resumen de cambios de base

cambios-de-base-numerica.svg

3.9. Ejercicios

Binario Decimal Octal Hexadecimal
10010001      
  876    
    2310  
      AF0
111      
  999    
    777  
      FFF

  Binario Decimal Octal Hexadecimal
  10010001 145    
    876    
    1224 2310  
    2800   AF0
  111 7    
    999    
    511 777  
    4095   FFF

4. Referencias

Autor: Álvaro González Sotillo

Created: 2024-09-08 dom 17:52

Validate