double向int转换的问题
先看一段代码
union luai_Cast { double l_d; long l_l; };
int k;
double n = 20.0f;
volatile union luai_Cast u;
u.l_d = (n) + 6755399441055744.0;
(k) = u.l_l;
这段代码是将一个double的值转换为int值的快速方法,不过在使用中在有些项目中发现(n) + 6755399441055744.0;这一步后u.l_d始终为6755399441055744.0,好像是到了上限样,各位高人告诉下是否vs需要专门设置才能正常使用