#include <stdlib.h>
#include <stdio.h>
#include <string.h>
 
int main() {
	int decimal;
	printf("Digite um número em base decimal: "); 	int counter = 1;
	char *binary = NULL;
	while (decimal >= 1) {
		int q = decimal / 2;
		int r = decimal - (q * 2);
		if (binary != NULL) {
			memcpy(aux
, binary
, counter 
- 1); 		}
		binary = aux;
		if (r == 0) binary[counter-1] = '0';
		else binary[counter-1] = '1';
		counter++;
		decimal = q;
	}
	printf("Resultado em binário = "); 	for (int i 
= counter 
- 1; i 
>= 0; i
--) printf("%c", binary
[i
]); }
 
//https://pt.stackoverflow.com/q/58696/101
				I2luY2x1ZGUgPHN0ZGxpYi5oPgojaW5jbHVkZSA8c3RkaW8uaD4KI2luY2x1ZGUgPHN0cmluZy5oPgoKaW50IG1haW4oKSB7CglpbnQgZGVjaW1hbDsKCXByaW50ZigiRGlnaXRlIHVtIG7Dg8K6bWVybyBlbSBiYXNlIGRlY2ltYWw6ICIpOwoJc2NhbmYoIiVkIiwgJmRlY2ltYWwpOwoJaW50IGNvdW50ZXIgPSAxOwoJY2hhciAqYmluYXJ5ID0gTlVMTDsKCXdoaWxlIChkZWNpbWFsID49IDEpIHsKCQlpbnQgcSA9IGRlY2ltYWwgLyAyOwoJCWludCByID0gZGVjaW1hbCAtIChxICogMik7CgkJY2hhciAqYXV4ID0gbWFsbG9jKGNvdW50ZXIpOwoJCWlmIChiaW5hcnkgIT0gTlVMTCkgewoJCQltZW1jcHkoYXV4LCBiaW5hcnksIGNvdW50ZXIgLSAxKTsKCQkJZnJlZShiaW5hcnkpOwoJCX0KCQliaW5hcnkgPSBhdXg7CgkJaWYgKHIgPT0gMCkgYmluYXJ5W2NvdW50ZXItMV0gPSAnMCc7CgkJZWxzZSBiaW5hcnlbY291bnRlci0xXSA9ICcxJzsKCQljb3VudGVyKys7CgkJZGVjaW1hbCA9IHE7Cgl9CglwcmludGYoIlJlc3VsdGFkbyBlbSBiaW7Dg8KhcmlvID0gIik7Cglmb3IgKGludCBpID0gY291bnRlciAtIDE7IGkgPj0gMDsgaS0tKSBwcmludGYoIiVjIiwgYmluYXJ5W2ldKTsKCXByaW50ZigiXG4iKTsKCWZyZWUoYmluYXJ5KTsKfQoKLy9odHRwczovL3B0LnN0YWNrb3ZlcmZsb3cuY29tL3EvNTg2OTYvMTAx