⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_60460.htm

📁 vc
💻 HTM
字号:
<p>
序号:60460 发表者:蓝白725 发表日期:2003-11-13 15:48:13
<br>主题:请教如何消除这样的警告?
<br>内容:在我的程序里有这样的代码:<BR>float a,b,c;<BR>a=b/288.15;<BR>结果编译时出现这样的警告:<BR>conversion from 'double' to 'float', possible loss of data<BR>可我并没有定义double型的变量啊!这真的会影响数据精度吗?<BR><BR>还有类似的问题:<BR>a=0.99;<BR>编译时出现这样的警告:truncation from 'const double' to 'float'<BR>不解???<BR>请教各位高手如何消除这样的警告?谢谢!!!
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:樂日華 回复日期:2003-11-13 15:50:51
<br>内容:float 極不穩定,如果作運算的時候,儘量不要用. <BR>a=0.99&nbsp;&nbsp; <BR>a=0.99000000&nbsp;&nbsp; 跟系統有關
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:蓝白725 回复日期:2003-11-13 15:56:38
<br>内容:“樂日華”,你是说全部改为double型的变量?<BR>那如果在所需的变量很多的情况下,是不是有点不太合适?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:紫龙 回复日期:2003-11-13 16:32:05
<br>内容:a=float(b/288.15);<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:紫龙 回复日期:2003-11-13 16:33:54
<br>内容:a=float(0.99);<BR>系统默认的小数是double型的所以要转换<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:蓝白725 回复日期:2003-11-13 16:35:55
<br>内容:请教“紫龙”:<BR>你给出的这条语句会影响数据精度吗?<BR>还有,为什么在TC中运行同样的语句就不会出现那样的警告?<BR>谢谢!!!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:紫龙 回复日期:2003-11-13 16:47:39
<br>内容:当然会影响到,但是不会很大因为你的小数一般都不会用到那么的精确,好象FLOAT可以保证小数点后面12位double大概是16位当然会有细微的差别,后面的被舍入了,我也不是很清楚,望高手指点!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:蓝白725 回复日期:2003-11-13 18:48:12
<br>内容:郁闷ing<BR>那位高手帮帮忙啊!<BR>为什么TC中不会出现这样的警告呢?<BR>难道C++中每次出现这样的算式都要进行强制类型转换吗?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:金枪鱼 回复日期:2003-11-13 19:30:08
<br>内容:我们在编程时经常需要强制转换数据的类型,以便满足一些函数参数的需要。<BR><BR>随着VC版本的提高,数据位数的增大,我们就经常会得到这种警告。如果你认为这种转换不会影响你的运算结果,就使用强制转换,这样警告就不会出现了。<BR><BR>比如在VC6中,CFile类的GetLength函数返回的时32位的DWORD类型,在VC7中却返回的却是64位的ULONGLONG类型。在你的所使用的数据类型习惯全部更换到64位之前,你不强制转换,那怎么办。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:大狗头 回复日期:2003-11-13 19:36:22
<br>内容:那如果我不采用强制转换的话<BR>是不是在出现一大堆警告的同时,系统就自动给我转换了?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:金枪鱼 回复日期:2003-11-13 20:21:18
<br>内容:是的,编译时会出现警告来提示你:转换有可能会造成数据丢失。<BR><BR>如果你不嫌烦,且你确认这种转换不会导致错误操作,你可以不管它。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:蓝白725 回复日期:2003-11-13 20:50:34
<br>内容:谢谢!!!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -