Programa para pasar de binario a decimal(subir)

13,120 views

Published on

Published in: Technology
  • Be the first to like this

Programa para pasar de binario a decimal(subir)

  1. 1. 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
  2. 2. 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
  3. 3. 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
  4. 4. 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
  5. 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 19 Código Basic ALGORITMO: SUMAR EL VALOR DE TODAS LAS CIFRAS
  6. 6. CORREGIR EL PROGRAMA PARA QUE LAS CIFRAS SOLO SEAN 0 , 1
  7. 7. 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
  8. 8. 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
  9. 9. 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)
  10. 10. 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

×