Sistemas de numeración
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
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
- Se divide entre 2 el número
- Apuntamos el resto
- Si el cociente es mayor que 0, volvemos al paso 1
- El número en binario son los restos en orden inverso
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
2.9. Ejercicios
- Consigue llegar a 1024
- Sigue en casa
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
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
- Formatos:
- Creado con:
- Alojado en Github