浮点数怎么转换成十六进制

如题所述

如果你想输出内存情况,按16进制数值,按字节依次输出。你可以用 union。
下面例子,输出 float 和 double。
#include<stdio.h>
union uuf { float f; char s[4]; } uf;
union uud { double d; char s[8];} ud;
int main()
{
int i;
uf.f = 12.345;
for (i=3;i>=0;i--)printf("%02x", 0xff & uf.s[i]);
printf("\n");
ud.d = 12.345;
for (i=7;i>=0;i--)printf("%02x",0xff & ud.s[i]);
printf("\n");
return 0;
}

4145851f
4028b0a3d70a3d71
温馨提示:答案为网友推荐,仅供参考