【发布时间】:2017-03-08 01:34:38
【问题描述】:
我从How to get the sign, mantissa and exponent of a floating point number找到以下代码
#include <stdio.h>
typedef union {
float f;
struct {
unsigned int mantisa : 23;
unsigned int exponent : 8;
unsigned int sign : 1;
} parts;
} double_cast;
int main() {
double_cast d1;
d1.f = 0.15625;
printf("sign = %x\n",d1.parts.sign);
printf("exponent = %x\n",d1.parts.exponent);
printf("mantisa = %x\n",d1.parts.mantisa);
return 0;
}
但是如何将其转换为尾数为 52、指数为 11、符号为 1 的双精度数?
【问题讨论】:
标签: c floating-point