Pasar binario decimal
-
Upload
luis-a-diaz-sanchez -
Category
Technology
-
view
7.048 -
download
1
Transcript of Pasar binario decimal
PROGRAMA PA
RA PASAR
DE BIN
ARIO A
DECIM
AL
ALGORIT
MO
PASO BINARIO A DECIMAL 10011
Separamos cifras 1 0 0 1 1
Peso cifra
Valor cifra 16x1 8x0 4x0 2x1 1x1
Nº Decimal = 16x1 + 2x1 +1x1 = 19
2^4
2^3
2^2
2^1
2^0
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
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-13 = 5-22 = 5-3…………2 ^ (L-i)
ALGORITMO: HALLAR EL PESO DE CADA CIFRA
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
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
CORREGIR EL PROGRAMA PARA QUE LAS CIFRAS SOLO SEAN 0 , 1
EJERCICIOPrograma 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
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
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)
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