Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- /*
- Aldenir Luiz, 22/12/2020
- Este conversor binario converte numeros interios em binario utilizando da "divide by two", divisão por dois,
- este método consiste em armazenar o resto da divisão do numero inteiro em um array "armazena-se apenas 0 ou 1",
- ao fim da condião de divisão o array é invertido formando a sequencia de bites
- que representa versão binária do numero informado.
- */
- int main()
- {
- int entrada, contador, divisor, resto, i; //Inicia as variaveis principais.
- int container[32]; //Inicia um array para guardar os numeros binarios "0 e 1".
- printf("\nEntre com o valor a ser converrtido:\n");//
- scanf("%i", &entrada); //Entrada de dados, recebe o numero a ser convertido.
- contador = 1; //Contador para guiar a posição dos numeros dentro do array.
- //
- while(entrada > 0) //Inicio do loop para a divisão.
- { //
- resto = entrada % 2; //Resto da divisão inteira, aqui se define os bites "0 e 1".
- divisor = entrada /= 2; //Divisão inteira, o numeros de entrada é sempre dividido por 2.
- container[contador] = resto; //O array container armazena o resto da divisão inteira.
- contador++; //Acrescenta uma unidade no contador.
- if(divisor < 0) //Esta verificação previne um loop infinito, caso o divisor seja menor que zero.
- { //
- break; //O loop é encerrado quando a condição é atendida
- } //"se o divisor for igual ou menor que zero"
- else //Se a primeira condição não for atendida
- { //
- continue; //O loop reinicia.
- }; //
- }; //
- for(i = contador-1; i > 0; i--) //Um loop for usado para inverter a ordem do array
- { //
- printf("%i" ,container[i]); //Exibe o resultado
- }; //
- return 0; //
- } //
Add Comment
Please, Sign In to add comment