二进制中的浮点表示

时间:2017-10-29 23:57:30

标签: c binary floating-point bits ieee

我正在尝试打印存储在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));
        } 
}

1 个答案:

答案 0 :(得分:1)

使用联盟:

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

然后u.f = myfloat;并在u.p

上进行迭代