读书人

float的有关问题这是咋回事

发布时间: 2014-06-10 16:25:36 作者: rapoo

float的问题,这是怎么回事?
下面这段VC示例代码:

LONG lon = -42813533;// 如果这个数小一些,就不会发生下面的奇怪现象,但是它并没有超出什么范围啊。
float flo = (float)lon;
TRACE( "\n%f ", flo);
TRACE( "\n%f ", flo);
if(flo - (float)lon <= -0.5 || flo - (float)lon > = 0.5)
TRACE( "\n好奇怪的浮点数! ");

我仅仅是把一个长整数变量转换成浮点数并保存到一个浮点变量中,得到的输出却是:

-42813533.000000
-42813532.000000
好奇怪的浮点数!

我觉得很奇怪,各位帮我看看是怎么回事,我有点懵了。

[解决办法]
已经超出范围了

读书人网 >VC/MFC

热点推荐