有没有办法在C++中声明32位浮点值-确保它始终是32位,而不管平台/编译器如何?
我可以像这样对整数进行操作:
#include <stdint.h>
uint32_t var; //32 bit unsigned integer
uint64_t var1; //64 bit unsigned integer
有没有一种方法可以对浮点数做类似的操作?据我所知,
float var; //Usually is 32 bit, but NOT GUARANTEED to be 32 bit
实现方式因不同情况而异,不一定是32位的。(如果我错了请指出)。
我正在使用Qt,因此如果有使用它的解决方案,我会接受它——我找不到像quint16这样的浮点型(qreal根据平台改变大小)。
float
不是32位,你希望发生什么呢?当然可以进行检查if (sizeof(float) != 4 && CHAR_BITS == 8) PANIC("Not 32-bit float!!!");
- 但是如果没有32位的浮点数,我不确定你希望编译器做什么。 - Mats Petersson