Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

Conversor de Hexadecimal para Decimal

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    C / C++ Conversor de Hexadecimal para Decimal

    Olá pessoal, dessa vez venho aqui com um conversor de Hexadecimal pra Decimal.

    Código:
    #include<stdio.h>
    #include<stdlib.h>
    #include<conio.h>
    
    
    int getHex (char c) {
        
        char hex2[] = "123456789ABCDEF";
        int i = 0;
        
        while(hex2[i] != c) {
                      
                      
                      i++;
                      
                      }
        i += 1;
        return i;
        
        }
    
    
    void strcopy (char *str1, char *str2) {
        
        
        
        
        while(*str2) {
                     
                     *str1 = *str2;
                     
                     str1++;
                     str2++;
                     
                     }
                     
                     *str1 = '\0';
                     
        
        }
    
    int strl(char *str) {
        
        int i = 0;
        
        while(*str) {
                    str++;
                    i++;
                    }
        return i;
        
        }
    
    
    
    
    int eleva (int i) {
        
        int i2 = 1;
        int anterior = 16;
        if(i == 0) {
             
             return 1;
             }
             
             while(i2 < i) {
                      
                      anterior = 16 * anterior;
    
                      i2 ++ ;
                      }
        return anterior;
        }
        
        void gh(void) {
             
             system("cls");
             
             
             int i = 0;
             char *banner[] = {"##################payl04d######################\n\n",
             "Feito por #payL04d em especial ao GH ( Guia do Hacker ) !\n\n",
             "##################payL04d######################\n\n"};
             
             while (i < 3) {
                   printf("%s",banner[i]);
                   
                   i ++ ;
                   
                   }
             
             
             
             }
    
    int main(int argc, char *argv[])
    {
        char *hex;
        
        int i = strl(argv[1]);
        int i2;
        int i3;
        int i4;
        
        int i5 = 0;
        
        int i6 = 0;
        gh();
        hex = malloc((i + 1) * sizeof(char));
        
        strcopy(hex, argv[1]);
        
        
        
        i2 = i;
        i -= 1;
        
        while(i2 > 0) {
                
                
                i3 = getHex (hex[i6]);
                
                i4 = i3 * (eleva(i) );
               // printf("i : %d -->",eleva(i));
                i5 += i4;
                
                //printf("%d\n",i5);
                i -- ;
                i2 -- ;
                
                i6 ++ ;
                }
                
                printf("\n\nEM DECIMAL -- > %d \n",i5);
                
        
        return 0;
    
    }
    Obrigado,
    Cuidado com cada peça do xadrez que você mexe, pois o próximo a ir pro xadrez pode ser você !
    Similar Threads

  • Font Size
    #2
    código atualizado hehe, esqueci de acrescentar 0

    Código:
    #include<stdio.h>
    #include<stdlib.h>
    #include<conio.h>
    
    
    int getHex (char c) {
        
        char hex2[] = "123456789ABCDEF";
        int i = 0;
        
        while(hex2[i] != c) {
                      
                      
                      i++;
                      
                      }
        i += 1;
        return i;
        
        }
    
    
    void strcopy (char *str1, char *str2) {
        
        
        
        
        while(*str2) {
                     
                     *str1 = *str2;
                     
                     str1++;
                     str2++;
                     
                     }
                     
                     *str1 = '\0';
                     
        
        }
    
    int strl(char *str) {
        
        int i = 0;
        
        while(*str) {
                    str++;
                    i++;
                    }
        return i;
        
        }
    
    
    
    
    int eleva (int i) {
        
        int i2 = 1;
        int anterior = 16;
        if(i == 0) {
             
             return 1;
             }
             
             while(i2 < i) {
                      
                      anterior = 16 * anterior;
    
                      i2 ++ ;
                      }
        return anterior;
        }
        
        void gh(void) {
             
             system("cls");
             
             
             int i = 0;
             char *banner[] = {"##################payl04d######################\n\n",
             "Feito por #payL04d em especial ao GH ( Guia do Hacker ) !\n\n",
             "##################payL04d######################\n\n"};
             
             while (i < 3) {
                   printf("%s",banner[i]);
                   
                   i ++ ;
                   
                   }
             
             
             
             }
    
    int main(int argc, char *argv[])
    {
        char *hex;
        
        int i = strl(argv[1]);
        int i2;
        int i3;
        int i4;
        
        int i5 = 0;
        
        int i6 = 0;
        gh();
        hex = malloc((i + 1) * sizeof(char));
        
        strcopy(hex, argv[1]);
        
        
        
        i2 = i;
        i -= 1;
        
        while(i2 > 0) {
                
                
                i3 = getHex (hex[i6]);
                
                i4 = i3 * (eleva(i) );
               // printf("i : %d -->",eleva(i));
                i5 += i4;
                
                //printf("%d\n",i5);
                i -- ;
                i2 -- ;
                
                i6 ++ ;
                }
                
                printf("\n\nEM DECIMAL -- > %d \n",i5);
                
        
        return 0;
    
    }
    Podem ver q atualizei o código, acrescentei 0, tinha só 8 numeros aheuheuaeh
    Cuidado com cada peça do xadrez que você mexe, pois o próximo a ir pro xadrez pode ser você !

    Comment


    • Font Size
      #3
      Manjo nada de C / C++
      mais fico bom o código !

      Comment


      • Font Size
        #4
        Valeu, tinha esquecido de acrescentar o 0, quem for pegar o código, coloque um 0 no vetor hex2
        Cuidado com cada peça do xadrez que você mexe, pois o próximo a ir pro xadrez pode ser você !

        Comment

        X
        Working...
        X