3. Preguntar -> numero
Longitud -> L
Recorrer el numero desde 1
hasta L
Extraer cifra a cifra
El resultado será:
1
0
0
1
1
Código basic
ALGORITMO: SEPARAR CADA CIFRA
4. L = 5
i = 1 -> 2^4 = 16
i = 2 -> 2^3 = 8
i = 3 -> 2^2 = 4
i = 4 -> 2^1 = 2
i = 5 -> 2^0 = 1
Hay que hallar la
relación de la potencia a
elevar función de (L, i)
4 = 5-1
3 = 5-2
2 = 5-3
…………
2 ^ (L-i)
ALGORITMO: HALLAR EL PESO DE CADA CIFRA
5. L = 5
i = 1 -> 1 x 16 = 16
i = 2 -> 0 x 8 = 0
i = 3 -> 0 x 4 = 0
i = 4 -> 1 x 2 = 2
i = 5 -> 1 x 1 = 1
Código Basic
ALGORITMO: HALLAR EL VALOR DE CADA CIFRA
6. L = 5
i = 1 -> 1 x 16 = 16
i = 2 -> 0 x 8 = 0
i = 3 -> 0 x 4 = 0
i = 4 -> 1 x 2 = 2
i = 5 -> 1 x 1 = 1
19
Código Basic
ALGORITMO: SUMAR EL VALOR DE TODAS LAS
CIFRAS
8. EJERCICIO
Programa para convertir un número hexadecimal en decimal.
Tener en cuenta que se puedan meter letras minúsculas, para ello después de preguntar
el numero lo convertimos a mayúsculas
A continuación cuando vayamos separando cifra a cifra, las validamos, para que no se
puedan meter cifras distintas de 0,1,2,…,9,A, B,C, D, E,F
A continuación debemos de convertir las cifras A=10, B= 11,…, E = 15
El resto del programa será adaptar el que hicimos de binario
Recordamos :
Un número hexadecimal ABC52 en base 16
A = 10, B = 11, C =12, D = 13, E = 14, F = 15
Decimal = 10 * 16^4 + 11 * 16^3 + 12 *16^2 + 5*16^1 + 2 * 16^0
Decimal = 703570
9. CODIGOS ASCII
Si introducimos el siguiente código -> x = 65
Los números 0,1, …9 tienen el código ASCII entre el 48 y el 57
Las letras A, B, C, D, E,F tienen el código ASCII entre el 65 y el 70
10. VALIDAR UNA CIFRA QUE SEA HEXADECIMAL
Cifra 0, 1, 2, 3,4, 5, 6, 7, 8, 9 A,B,C,D,E,F
ASCII 48……………………………57 65……………70
Por tanto una cifra será HEXADECIMAL Válida si:
Su código ASCII (>= 48 y <=57) o (>= 65 y <=70)
11. ALGORITMO
1) Pregunta numero hexadecimal
2) Convertirlo a mayúsculas
3) Hallar longitud el numero
4) (Bucle desde 1 hasta longitud)
Separamos cifra a cifra
• Validar cada cifra para que solo se puedan meter: 0,1,2,…,9, A,B,C,D,E,F
Cambiar las letras por su valor A= 10, B= 11, … F = 15
Hallar el peso de cada cifra en base 16, potencias de 16
Sumar el valor de todas las cifras
5) Escribir el resultado del numero decimal