Im looking for way to convert 8 byte double to uint64\_t. I cant use any standard library becouse of that there is only 4byte double in my solution.

This conversion should convert 10987789.5 to 10987789 as int.

Conversion that I use right now:

```
uint64_t binDoubleToUint64_t(char *bit){
    uint8_t  i, j;
    uint64_t fraction;
    for(i=0; i<64; i++)
       bit[i]-='0';

    uint16_t exponent = bit[1] ? 1 : 0; 

    j = 0;
    for(i=9; i>0;i--)
       exponent += bit[i+2] * int_pow(2, j++);

    bit[11] = bit[1];
    fraction = 0;
    j=0;

    for(i=0; i < exponent; i++){
        fraction = fraction << 1;
        if(bit[11+i])
        fraction |= 1 << 1;
    }
    return fraction;
}

```

But this give me wrong answers.
While I try to convert double 10225203.0 (0x416380c660000000) it returns 10225202 (should 10225203)