鱼C论坛

 找回密码
 立即注册
查看: 1596|回复: 4

Python3运用表达式计算数值时遇到的问题,求解?

[复制链接]
发表于 2018-1-31 17:23:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

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

x
在Python3的IDEL中运用表达计算时,遇到以下问题:两数相减,其中一数为浮点数,其值为负数时,值不是我们数学计算的结果值,(见下图)这是为什么?
QQ截图20180131172140.jpg
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-1-31 17:27:56 | 显示全部楼层
精度的问题,计算机很多时候并不能完全精确小数点后面的值
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-31 21:10:35 | 显示全部楼层
可以保留2位小数
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-31 21:19:02 | 显示全部楼层
其实也不是精度问题,这里是用二进制算法,0.5是小数点后二进制一个1,而其他就可能用很多甚至无穷个二进制位去近似,
为什么计算器又能算的准,就在于是否用二进制逼近的算法
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-31 23:42:36 | 显示全部楼层
好像是因为所有的机器语言都是二进制算法,而我们平时都是10进制,就像楼上所说,用的是二进制逼近的算法,所以比我们传统的算法效率要高很多,其实这种精度问题一直存在,在编写程序的过程中也无伤大雅,稍微留意一下就可以了,比如取整或者保留指定位数的小数
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-12-27 15:43

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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