doubletofloat

conversion from double to float, possible loss of data 

翻译:从double转成float,可能会造成数据丢失。


现在的计算机,double类型存储占8字节,float类型存储占4字节,当两个不同类型的数据进行赋值时,系统进行隐式类型转换,高精度向低精度的赋值时,低精度变量无法完整存储高精度数据,系统会自动“截断”部分内容,完成数据转存,这样就有可能会造成数据精度丢失。
在C/C++语言中,浮点型常数的默认类型是double类型,如0.5 ,123.45等,若想得到float类型常数,则要在常数后加f 字符,如:0.5f , 123.45f等
当把double类型数据赋值给float类型变量时,系统编译时会报以下警告:
warning C4244: = : conversion from double to float, possible loss of data 

一般这种错误常见于:

  • 用浮点常数给float类型变量赋值,如:float f=0.1 ;  正确写法为:float f=0.1f ;

  • 调用返回值类型为double的函数,给float类型变量赋值,如:float f=pow(x,n);  pow返回参数x的n次幂。 正确写法:float f=powf(x,n); //调用正确的函数 

因此,数据间赋值一定要采用正确的类型,建议在使用浮点数时,只使用double类型。

由高精度到低精度可能会有数据丢失,贴源码上来看看
彩漂洗衣液怎么用 申请卡内基梅隆大学PhD 玩具熊5埃纳德身份 无锡市方正精密模塑厂 c.a.t.s战车搭配 avi素材视频短片下载 谁有点金胜手百度云 秦樱素手机铃声是什么 吸顶灯怎么换灯泡图解 感谢的图片 初中女生的丝袜脚踢裆 高中毕业出国读大学 卧室床头挂画 pulsepower 范冰冰李晨快乐大本营 the sales man osxaptiofixdrv问题 泰国的小黄瓜水好用吗 cad2014清除注册表 手机店零售管理软件 australia wiki 多个cad转pdf发布 jonni drakko磁力 uvmist cushion cover silverbullion 通向财富自由之路 pdf 形容不得已出手的成语 健康人的作息时间表 魔城の姫骑士 json 重新赋值

Copyright 中易吧 Some Rights Reserved

如反馈或投诉等情况联系:une35498#163.com