为什么0。10。20。3?怎么解决python浮点数损失精度问题
在计算机中计算0.1 + 0.2,结果不等于 0.3 ,而是0.30000000000000004,为什么会出现这个结果呢?下文一步一步来阐述下python浮点数损失精度问题,及如何解决该问题。0.1+0.2≠0.3现象
0.1+0.2≠0.3代码0.1+0.2≠0.3根因——python浮点数损失精度问题
0.1+0.2≠0.3的具体原因,是因为Python 中使用双精度浮点数来存储小数。在 Python 使用的 IEEE 754 标准(52M/11E/1S)中,采用的是一种二进制版的科学计数法格式,8字节64位存储空间分配52位来存储浮点数的有效数字,11位存储指数,1位存储正负号。
52位有效数字虽然看起来很多,但二进制小数在表示有理数时,经常会遇到到无限循环的问题。很多数字在十进制小数中是有限的,但在二进制中却是无线循环的。
举例:十进制的 1/10,在十进制中可以写为 0.1 ;但在二进制中,得写成:0.0001100110011001100110011001100110011001100110011001…..(后面全是1001 循环)。
因浮点数只有52位有效数字,故从第53位开始就舍入 了,这样就造成了"浮点数精度损失"问题 。舍入(round)的规则为"0 舍 1 入" ,所以就会出现数字有时候比实际稍大一点,有时候比赛数字稍小一点的现象。解决python浮点数损失精度问题
在python中可以采用采用round()函数,对数据进行处理。
round()函数的格式:round(x, d), 其中x表示需要被处理的数据,d表示要返回的小数位数,即round(x, d)代表返回参数x的四舍五入的有 d 位小数的一个数字。 d=0表示取整,d=1表示要返回一位小数,以此类推。此外,round()会自动四舍五入。
python代码
注意:整数+浮点数=浮点数 ,如1+3.0=4.0。因此,还需要注意不确定尾数的问题。
python代码
魔点中科院InsightFace联合举办CVPR23人脸活体检测挑战赛!2月13日,由中科院InsightFace魔点科技等中外多位人工智能领域科研领跑者联合举办的4thChalearnFaceAntispoofingWorkshopandChalle
哺乳期闭经避孕法科学吗?跟我一探究竟吧1988年哺乳闭经避孕法(LAM)被世界卫生组织(WHO)及其他一些有关国际组织在意大利Bellagio研讨会上认可为计划生育方法之一。主要避孕的机制可能如下妇女哺乳时婴儿吸吮乳头
为什么有的孩子在学习时一学就会,有的孩子却非常吃力?大家身边有没有这样的经历,在我们读书时,班上是不是总有一些同学,平时不怎么学习,但是每次考试成绩都比较靠前。很多知识点他们很快就能领悟,但是有的同学却非常吃力。这是为什么呢?可能是
今日分享02211过年和别人家出去玩,导航是小猪佩奇的语音。在高速上时小猪佩奇说了一句话聪明的孩子会从自己的错误里学习,超级聪明的孩子会从别人的错误里学习。活的不如一头猪通透。2一个悲剧的人生,主
我只管生,只管要,别的什么都不管,万一以后有个孩子出息了呢?身边有这种人,90后的,一婚生了个女儿,二婚也生了个女儿,现在想生个儿子,又怀孕了,为的是她自己喜欢,家里经济条件不好,她说只要吃饱穿暖就行。我只管生,只管要,别的什么都不管,万一
一个月长高13厘米!月销10万的这个长高神器靠谱吗?前几天关于儿童身高的文章受到颇多关注。孩子的身高永远是一个大话题,不难看出家长对自己孩子的身高或多或少都存在焦虑情绪,这也就衍生出了很多以增高为噱头并销量持续走高的产品,就好比最近
Nature重磅发布男性避孕药有望问世!只需一片,2小时有效将近一半的怀孕是意外的因此,现有的计划生育选择是不够的。对于男性来说,唯一的选择是避孕套和输精管结扎术,目前为男性开发新避孕药的大多数努力都会影响精子的发育,这意味着避孕需要连续几
护目闲话耀州孙思邈纪念馆鲁迅先生写作常讲究画眼睛,非常绝妙,相信鲁迅先生一定读过黄帝内经千金要方等中国经典医学著作,毕竟先生医科出身,后弃医从文,走上拯救民族灵魂的道路。中医早已认识到眼睛
二千岛经常喝普洱茶能够给身体带来哪些变化?普洱茶凭借独特的口感以及良好的保值增值效果,在近些年受到了很多投资者以及茶友的喜爱,但是从制作工艺方面来看,大致可分为生茶和熟茶两种类型,但是其所产生的养生功效也完全不同。那么在平
经常憋尿的人,后来都怎么样了?憋尿,是一种很常见的生活习惯。在日常生活中,人们会不经意地憋尿,以便集中注意力,避免打扰他人,或是因为没有方便的卫生间。虽然短时间内憋尿不会对身体产生太大影响,但长时间憋尿却会对健
两种食材巧搭配,竟成通便宝!便秘排便不畅的人一定要试试!精粮合口味,粗粮润肠胃。众所周,饮食上食不厌精的人,很容易因缺乏足够的膳食纤维,而导致肠蠕动减弱,诱发便秘。因此,想要大便通畅,一定学会吃得粗一点。认识两种益肠粗粮01hr植物黄金