Pasar binario decimal

11
PROGRAMA PARA PASAR DE BINARIO A DECIMAL ALGORITMO

Transcript of Pasar binario decimal

Page 1: Pasar binario decimal

PROGRAMA PA

RA PASAR

DE BIN

ARIO A

DECIM

AL

ALGORIT

MO

Page 2: Pasar binario decimal

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

Page 3: Pasar binario decimal

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

Page 4: Pasar binario decimal

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

Page 5: Pasar binario decimal

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

Page 6: Pasar binario decimal

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

Page 7: Pasar binario decimal

CORREGIR EL PROGRAMA PARA QUE LAS CIFRAS SOLO SEAN 0 , 1

Page 8: Pasar binario decimal

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

Page 9: Pasar binario decimal

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

Page 10: Pasar binario decimal

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)

Page 11: Pasar binario decimal

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