二进制中的浮点表示

Floating Point representation in Binary

我试图在 C 中打印存储在浮点数中的数字,但我正在努力如何打印它。 我现在正在这样做,它以 IEEE 格式打印数字。我希望它直接从记忆中反向打印。 我该如何解决? 谢谢

void printbits(size_t n, void *c) {
    unsigned char *t = c; 
    if (c == NULL) 
        return; 
    while (n > 0) { 
        int q; 
        --n;
        for(q = 0x80; q; q >>= 1) 
            printf("%x", !!(t[n] & q));
        } 
}

使用联合:

union u {
    float f;
    unsigned char p[4];
}

然后 u.f = myfloat; 并迭代 u.p