#include <stdio.h>
#include <stdlib.h>
void BinFormat(unsigned short character, char *text) {
text[16] = '\0'; // Define o final da string corretamente
for (int i = 15; i >= 0; i--) // Iterar sobre 16 bits
text[i] = ((character >> (15 - i)) & 1) + '0';
}
int main(void) {
char *text
= malloc(17); // Alocar espaço para 16 bits + '\0' if (!text) return 1; // Verificar erro na alocação
BinFormat(1, text);
printf("%s\n", text
); // Deve imprimir: "0000000000000001"
BinFormat(2, text);
printf("%s\n", text
); // Deve imprimir: "0000000000000010"
BinFormat(3, text);
printf("%s\n", text
); // Deve imprimir: "0000000000000011"
BinFormat(65535, text);
printf("%s\n", text
); // Deve imprimir: "1111111111111111"
free(text
); // Liberar memória return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCnZvaWQgQmluRm9ybWF0KHVuc2lnbmVkIHNob3J0IGNoYXJhY3RlciwgY2hhciAqdGV4dCkgewogICAgdGV4dFsxNl0gPSAnXDAnOyAvLyBEZWZpbmUgbyBmaW5hbCBkYSBzdHJpbmcgY29ycmV0YW1lbnRlCiAgICBmb3IgKGludCBpID0gMTU7IGkgPj0gMDsgaS0tKSAgLy8gSXRlcmFyIHNvYnJlIDE2IGJpdHMKICAgICAgICB0ZXh0W2ldID0gKChjaGFyYWN0ZXIgPj4gKDE1IC0gaSkpICYgMSkgKyAnMCc7Cn0KCmludCBtYWluKHZvaWQpIHsKICAgIGNoYXIgKnRleHQgPSBtYWxsb2MoMTcpOyAgLy8gQWxvY2FyIGVzcGHDp28gcGFyYSAxNiBiaXRzICsgJ1wwJwogICAgaWYgKCF0ZXh0KSByZXR1cm4gMTsgIC8vIFZlcmlmaWNhciBlcnJvIG5hIGFsb2Nhw6fDo28KCiAgICBCaW5Gb3JtYXQoMSwgdGV4dCk7CiAgICBwcmludGYoIiVzXG4iLCB0ZXh0KTsgLy8gRGV2ZSBpbXByaW1pcjogIjAwMDAwMDAwMDAwMDAwMDEiCgogICAgQmluRm9ybWF0KDIsIHRleHQpOwogICAgcHJpbnRmKCIlc1xuIiwgdGV4dCk7IC8vIERldmUgaW1wcmltaXI6ICIwMDAwMDAwMDAwMDAwMDEwIgoKICAgIEJpbkZvcm1hdCgzLCB0ZXh0KTsKICAgIHByaW50ZigiJXNcbiIsIHRleHQpOyAvLyBEZXZlIGltcHJpbWlyOiAiMDAwMDAwMDAwMDAwMDAxMSIKCiAgICBCaW5Gb3JtYXQoNjU1MzUsIHRleHQpOwogICAgcHJpbnRmKCIlc1xuIiwgdGV4dCk7IC8vIERldmUgaW1wcmltaXI6ICIxMTExMTExMTExMTExMTExIgoKICAgIGZyZWUodGV4dCk7IC8vIExpYmVyYXIgbWVtw7NyaWEKICAgIHJldHVybiAwOwp9