AldenirLyiz

Conversor inteiro-->Binario

Jan 29th, 2021 (edited)
192
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.72 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. /*
  5. Aldenir Luiz, 22/12/2020
  6. Este conversor binario converte numeros interios em binario utilizando da "divide by two", divisão por dois,
  7. este método consiste em armazenar o resto da divisão do numero inteiro em um array "armazena-se apenas 0 ou 1",
  8. ao fim da condião de divisão o array é invertido formando a sequencia de bites
  9. que representa versão binária do numero informado.
  10. */
  11.  
  12. int main()
  13. {
  14.     int entrada, contador, divisor, resto, i;          //Inicia as variaveis principais.
  15.     int container[32];                                 //Inicia um array para guardar os numeros binarios "0 e 1".
  16.     printf("\nEntre com o valor a ser converrtido:\n");//
  17.     scanf("%i", &entrada);                             //Entrada de dados, recebe o numero a ser convertido.
  18.     contador = 1;                                      //Contador para guiar a posição dos numeros dentro do array.
  19.                                                        //
  20.     while(entrada > 0)                                 //Inicio do loop para a divisão.
  21.         {                                              //
  22.             resto = entrada % 2;                       //Resto da divisão inteira, aqui se define os bites "0 e 1".
  23.             divisor = entrada /= 2;                    //Divisão inteira, o numeros de entrada é sempre dividido por 2.
  24.             container[contador] = resto;               //O array container armazena o resto da divisão inteira.
  25.             contador++;                                //Acrescenta uma unidade no contador.
  26.             if(divisor < 0)                            //Esta verificação previne um loop infinito, caso o divisor seja menor que zero.
  27.                 {                                      //
  28.                     break;                             //O loop é encerrado quando a condição é atendida
  29.                 }                                      //"se o divisor for igual ou menor que zero"
  30.                 else                                   //Se a primeira condição não for atendida
  31.                 {                                      //
  32.                     continue;                          //O loop reinicia.
  33.                 };                                     //
  34.         };                                             //
  35.     for(i = contador-1; i > 0; i--)                    //Um loop for usado para inverter a ordem do array
  36.     {                                                  //
  37.         printf("%i" ,container[i]);                    //Exibe o resultado
  38.     };                                                 //
  39.     return 0;                                          //
  40. }                                                      //
  41.  
Add Comment
Please, Sign In to add comment