二进制中的浮点表示
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
我试图在 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