#include <stdio.h>
union U {
double value;
char arr[sizeof(double)];
};
void print_bits(double n)
{
union U u;
u. value = n;
for (int j = sizeof(double) - 1; j >= 0; j--) {
for (int i = 128; i; i >>= 1)
if (i & u.arr[j])
printf("1");
else
printf("0");
}
printf("\n");
}
int main()
{
double n = 3.14;
print_bits(n);
return 0;
}
/*
run:
0100000000001001000111101011100001010001111010111000010100011111
*/