#include <stdio.h>
#include <stdint.h>
typedef struct { uint8_t arr[10]; } S_big_integer_container;
void decimal_binary( S_big_integer_container bigUInt, char *output[81] );
int main(void)
{
S_big_integer_container biggie;
uint32_t i;
char oBuf[81];
char *op = oBuf;
for ( i=0u; i<10; i++ )
{
biggie.arr[i] = 0x81u;
}
decimal_binary(biggie, &op);
printf("Big binary number: %s\n",oBuf
); return 0;
}
void decimal_binary( S_big_integer_container bigUInt, char *output[81] )
{
uint32_t i, j;
uint32_t iOut = 0u;
for ( i=0u; i<10u; i++ )
{
for ( j=0u; j<8u; j++)
{
char o = ( bigUInt.arr[i] & (0x80u >> j) ) ? '1' : '0';
(*output)[iOut++] = o;
}
}
(*output)[80] = '\0';
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRpbnQuaD4KIAp0eXBlZGVmIHN0cnVjdCB7IHVpbnQ4X3QgYXJyWzEwXTsgfSBTX2JpZ19pbnRlZ2VyX2NvbnRhaW5lcjsKdm9pZCBkZWNpbWFsX2JpbmFyeSggU19iaWdfaW50ZWdlcl9jb250YWluZXIgYmlnVUludCwgY2hhciAqb3V0cHV0WzgxXSApOwogCmludCBtYWluKHZvaWQpCnsKCVNfYmlnX2ludGVnZXJfY29udGFpbmVyIGJpZ2dpZTsKCXVpbnQzMl90IGk7CgljaGFyIG9CdWZbODFdOwoJY2hhciAqb3AgPSBvQnVmOwoJZm9yICggaT0wdTsgaTwxMDsgaSsrICkKCXsKCQliaWdnaWUuYXJyW2ldID0gMHg4MXU7Cgl9CglkZWNpbWFsX2JpbmFyeShiaWdnaWUsICZvcCk7CglwcmludGYoIkJpZyBiaW5hcnkgbnVtYmVyOiAlc1xuIixvQnVmKTsKCXJldHVybiAwOwp9CiAKdm9pZCBkZWNpbWFsX2JpbmFyeSggU19iaWdfaW50ZWdlcl9jb250YWluZXIgYmlnVUludCwgY2hhciAqb3V0cHV0WzgxXSApCnsKICAgIHVpbnQzMl90IGksIGo7CiAgICB1aW50MzJfdCBpT3V0ID0gMHU7CiAgICBmb3IgKCBpPTB1OyBpPDEwdTsgaSsrICkKICAgIHsKICAgICAgICBmb3IgKCBqPTB1OyBqPDh1OyBqKyspCiAgICAgICAgewogICAgICAgICAgICBjaGFyIG8gPSAoIGJpZ1VJbnQuYXJyW2ldICYgKDB4ODB1ID4+IGopICkgPyAnMScgOiAnMCc7CiAgICAgICAgICAgICgqb3V0cHV0KVtpT3V0KytdID0gbzsKICAgICAgICB9CiAgICB9CiAgICAoKm91dHB1dClbODBdID0gJ1wwJzsKfQog