• RSS订阅 加入收藏  设为首页
棋牌技术文章

warning C4244: “=” : 从“float”转换到“int”,可能丢失数据

时间:2015/4/11 23:49:22   作者:网狐6603   来源:大富翁科技   阅读:29609   评论:0
内容摘要:在32位平台上,通常int是4字节长度,最多表示到21亿多,而int型是“绝对精确”的,换句话说,就是int行最多可以保证10位十进制有效数字的精确度。而float只能保证6位有效数字的精确度,因此int到float的转换是可能丢失精度的,比如整数“1234567899”转换成f...

在32位平台上,通常int是4字节长度,最多表示到21亿多,而int型是“绝对精确”的,换句话说,就是int行最多可以保证10位十进制有效数字的精确度。

而float只能保证6位有效数字的精确度,因此int到float的转换是可能丢失精度的,比如整数“1234567899”转换成float后,大约是:1.23457936乘10的9次方,也就是从第7位有效数字开始已经不准确了。

double可以保证15位10进制有效数字的精度,所以从int到double不会有这个警告。

在32位平台上,通常int和float都是4字节的,那既然字节数一样,凭什么int只能表示到21亿,而float可以表示到10的38次方?答案就是float跟int相比,牺牲了精确度,换来了更大的表示范围。


欢迎加入VIP,【VIP售价:VIP会员只要258元】畅享商业程序下载,点击开通!

下载说明


☉本站所有源码和资源均由站长亲自测试-绝对保证都可以架设,!
☉如源码和资源有损坏或所有链接均不能下载,请告知管理员,

☉本站软件和源码大部分为站长独资,资源购买和收集,放心下载!

☉唯一站长QQ:3297922246   [人格担保-本站注重诚信!]

☉购买建议E-mail:3297922246@qq.com   源码收购 E-mail:3297922246@qq.com    

☉本站文件解压密码  【文章内都自带解压密码,每个密码不同!】

相关评论

本站提供的所有源码,均来源站长提供仅学习交流

由此产生不良后果和法律责任与本站无关,如果侵犯了您的版权,请来信告知 3297922246@qq.com 将及时更正和删除! 

Copyright © 2008-2021 棋牌资源网,你身边的棋牌资源下载站  All Rights Reserved 

浙ICP备18994969号-1