martes, 30 de septiembre de 2014

Algoritmo Convetir de Hexadecimal a Decimal



  En ocasiones tenemos la necesidad de realizar una conversión de un número que se encuentra en base 16 o sea en hexadecimal a nuestro sistema numérico decimal y puede que el lenguaje de programación en el cual estamos desarrollando no tenga la implementación de algún método para realizarlo y pues tenemos que hacer nuestro propio método o función.


  Siguiendo los lineamiento de como hacerla conversión he tenido a bien dejarles el siguiente algoritmo de PSeint.



 Algoritmo:

Proceso HexaToDec
                Definir respuesta Como Caracter;
                respuesta<-'s';
               
                mientras (respuesta='s') Hacer
                               borrar pantalla;
                               escribir 'Numero Hexadecimal a convertir: ';
                               leer nHexa;
                                                              
                               nDigitos<-longitud(nHexa);
                               nDecimal<-0;
                               para i<-1 hasta nDigitos con paso 1
                                               //Digito<-'';
                                               Digito <- MAYUSCULAS(subCadena(nHexa,i,i));
                                              
                                               segun Digito
                                                               'A':
                                                                              numerador<-10;
                                                               'B':
                                                                              numerador<-11;
                                                               'C':
                                                                              numerador<-12;
                                                               'D':
                                                                              numerador<-13;
                                                               'E':
                                                                              numerador<-14;
                                                               'F':
                                                                              numerador<-15;
                                                               De Otro Modo:
                                                                             
                                                               numerador<-convertirAnumero(Digito);
                                                                             
                                               FinSegun
                                                                                             
                                               DigitoXBase16<-numerador*16^(nDigitos-i);
                                               nDecimal<-nDecimal+DigitoXBase16;                                          
                                              
                                               escribir Digito,'*16^',nDigitos-i, ' = ', DigitoXBase16;
                                              
                               FinPara
                               nHexaM<-MAYUSCULAS(nHexa);
                               escribir 'El número ', nHexaM, ' Hexadecimal en Decimal es: ', nDecimal;
                               escribir '¿ DESEA REALIZAR UNA CONVERSIÓN MÁS ?';
                               leer respuesta;
                FinMientras
               
FinProceso

No hay comentarios:

Publicar un comentario