火山编程教程培训交流论坛-乐易网络

 找回密码
 立即注册

手机号登录

用手机号号登陆

微信登录

微信扫码,快速开始

QQ登录

用QQ账号登陆

购买模块,定制软件,报名培训联系QQ 【会员必读】:如何绑定QQ来登陆论坛 【会员必读】:如何绑定微信来登陆论坛
【强烈推荐】《火山视窗0基础入门系列课程》【新手必读】火山中的错误代码大全【新手必读】火山视窗静态编译方案
《0基础x64位游戏内存辅助开发教程 》《64位某信Hook技术实战基础教程》《【免费】火山视窗汇编快速入门课程》
《火山视窗浏览器网页填表系列课程》《64位某信Hook技术实战进阶教程》《【免费】火山视窗Exui界面库讲解》
《火山视窗POST基础入门课程》《64位某信数据库操作课程》《火山视窗JavaScript加解密课程》
《火山视窗64位Hook技术培训课程》  
查看: 745|回复: 2

[基础入门] 【火山避坑指南】整数相除会丢失精度,不返回小数部分。

[复制链接]
已绑定手机

签到天数: 230 天

[LV.7]常住居民III

等级头衔

等級:超级会员

Rank: 14Rank: 14Rank: 14Rank: 14

积分成就
火币
5789
贡献
0
主题
22
精华
2
威望
16
积分
68
注册时间
2024-10-20
最后登录
2025-7-10

勋章墙

终身顶级VIP会员

发表于 2024-10-24 07:49:08 | 显示全部楼层 |阅读模式

据统计90%查看本帖的人,都已经注册本站了哦

您需要 登录 才可以下载或查看,没有账号?立即注册

x

一、常见的整数除法计算

问:1除以5等于几?

答:0.2

以上的除法运算的结果,相信上接受过九年义务教育的朋友,都知道正确答案是0.2;现在根据以上问题,用代码来实现:


1、易语言

1.png

2、火山
2.png

我们可以发现易语言成功返回了我们的理想结果;而火山却丢失了精度,仅返回了整数部分的结果。

从易语言转火山过来的我,首次碰到这个整数除法问题,着实有点懵;经过查询,有位朋友是这么给出回复的:

大多数语言. 两个整数的话就是用整数进行计算.速度才快. 也不会出现精度问题
火山的就是VC编译的. 自然也继承下来了. 我们在C++写的时候需要用小数了.. 也是要写成 4/5.0
像易语言那样转 全转双精度小数. 计算才有问题.. 经常出现精度问题. 让很多人都头疼.. 算式不敢写一成一排..得一排计算一次存到变量一次.. 不然结果容易有问题的...


二、解决办法

在火山里,立即数表达式计算过程中会出现数值精度丢失的现象(其实在我们编译的时候也会有警告提醒的),这是正常的,要声明一下小数,或者其中一个是小数。

3.png


二、总结

从易转火山的朋友,在进行除法计算的时候,要注意这个精度丢失问题;否则你的计算结果可能和你预想的就有点远哦。







评分

参与人数 1火币 +2 收起 理由
揰掵佲 + 2 分享是一种美德!

查看全部评分

回复

使用道具 举报

已绑定手机

签到天数: 273 天

[LV.8]以坛为家I

等级头衔

等級:管理员

头衔:最专业的易语言火山中文编程讲师

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

积分成就
火币
7356
贡献
6
主题
269
精华
2
威望
332
积分
810
注册时间
2024-10-3
最后登录
2025-7-10

勋章墙

微信认证用户论坛讲师最佳新人终身顶级VIP会员富翁会员

发表于 2024-10-24 09:39:02 | 显示全部楼层
易语言的算数运算 是把数据 先转换成 双精度小数  所以 不需要我们自己强制转换类型
火山的自由度更高,需要我们自己强转类型了
我要说一句
回复

使用道具 举报

已绑定手机

签到天数: 225 天

[LV.7]常住居民III

等级头衔

等級:管理员

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

积分成就
火币
4800
贡献
0
主题
103
精华
1
威望
74
积分
229
注册时间
2024-10-7
最后登录
2025-7-9

勋章墙

论坛讲师

发表于 2024-10-24 17:38:54 | 显示全部楼层
我要说一句
回复

使用道具 举报

快捷回复 提醒:以任何方式进行『恶意灌水』的行为,进行封号处理
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|火山编程教程培训交流论坛-乐易网络 ( 湘ICP备19007035号 )

拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表本站立场!

GMT+8, 2025-7-10 18:13 , Processed in 0.040549 second(s), 57 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表