I happen to have a embedded program that requires me to do some bit operations to store alot more information.

I have 2 shorts and a float as such. I need to store it into a double (64 bit), and then retreive all that info without loss in precision from that double. I can only use C99 valid operations and am not even able to do bit shifting on double.

```
short x = 4012; short y=1234; float s = 0.8;
double store = 0;

```

Unfortunately, I am not sure how to approach this problem.