I'm wanting to make a program that converts a decimal number to binary. Doing this conversion, I wanted to store the decimal numbers in char
. In the function it is stored right, but when I call the function in main
, it is giving problem because I want to match a char
to another.
#include <stdio.h>
#include <stdlib.h>
//n seria o número e qtdade seria a quantidade de bits
char dec2bin(int n, int qtdade) {
// int n; // Número de entrada
int r; // Resultado do deslocamento
int i; // Contador
char operadores[200] = {};
for(i = qtdade-1; i >= 0; i--) {
// Executa a operação shift right até a
// última posição da direita para cada bit.
r = n >> i;
// Por meio do "e" lógico ele compara se o valor
// na posição mais à direita é 1 ou 0
// e imprime na tela até reproduzir o número binário.
if(r & 1) {
// printf("1");
operadores[qtdade-1-i] = '1';
} else {
// printf("0");
operadores[qtdade-1-i] = '0';
}
}
printf("\n");
//printf("%s", operadores);
return operadores;
//system("pause");
}
int main()
{
char operadores[200] = {};
operadores = dec2bin(10, 5);
printf("\n\n\n\n%s", operadores);
printf("%s", dec2bin(10,5));
return 0;
}