【发布时间】:2015-06-18 10:58:57
【问题描述】:
在 C 中可以访问浮点常量的位表示;
例如我想分配
uint64_t x = //bit representation of 5.74;
表示为 0x40b7ae14
你认为有可能吗?
【问题讨论】:
-
uint64_t x = 0x40b7ae14;会起作用。 -
float x = 5.74; uint32_t y; memcpy(&y, &x, sizeof(y));请注意,float通常是 32 位,而不是 64 位。 -
是的,我知道...但我的问题是是否可以直接说“从 5.74 推断 0x...”。
-
@EOF,我会尝试,但我认为 5.74f 是“浮点值”,而没有“f”,它应该被视为 double 不是吗?
-
@Lukkio:是的,但它是通过分配给
float-变量来隐式转换的。
标签: c types floating-point constants