c - 如何显示浮点值的编码

标签 c math floating-point formatting

我们如何在 C 中打印浮点值的编码? 我知道我可以使用 %A,但这不是我想要的格式。

例如,如果我的值为 1.3416407,我想打印“0x3FABBAE2”,而不是“0X1.5775C4P+0”。

最佳答案

您可以使用 union ,例如

#include <stdio.h>
#include <stdint.h>

union {
    float f;
    uint32_t i;
} u;

u.f = 1.3416407f;
printf("%#X\n", u.i);

关于c - 如何显示浮点值的编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17664523/

相关文章:

c - 如何在 json_tokener_parse() 之后获取 json 值?

math - float 学有问题吗?

python - 为什么 float() 会切断尾随零?

android - std::min 的参数顺序更改浮点的编译器输出

c - 浮点乘法溢出

c - 如何初始化双指针

c - pthread_exit(NULL) 段错误

c++ - 0%2 结果为 1

javascript - 如何修复 NaN 错误 - 参数值不进行加、减、除或乘 - 在 JavaScript 中

java - 在 x 分钟做某事,然后每隔 n 分钟再做一次