说我有
#define A 23.9318;
#define B 0.330043;
#define C 5.220628;
我想要做
const unsigned result = (unsigned)(0x01000000 * ( A * B / C )); // unsigned is 32 bit
我希望得到浮点计算的固定十进制表示的结果。
我不能预先将 A、B、C 组合在一起,因为它们的定义不是我代码的一部分,我需要
如果它们被改变,它就可以工作。
最佳答案
不,标准 C 预处理器操作不执行浮点运算。
C 标准允许但不要求 C 实现在编译时执行这些操作。
关于c - c 预处理器是否处理 float 学常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21241031/