国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python中的浮點數(shù)原理與運算分析

2020-01-04 16:35:14
字體:
供稿:網(wǎng)友

本文實例講述了Python中的浮點數(shù)原理與運算。分享給大家供大家參考,具體如下:

先看一個違反直覺的例子:

>>> s = 0.>>> for i in range(10): s += .1>>> s0.9999999999999999# 錯誤被累加

再看一個更為普遍,直接影響判斷邏輯的例子:

>>> from math import sqrt>>> a = sqrt(2)>>> a*a == aFalse

之所以會出現(xiàn)以上的結(jié)果,在于 Python (更準(zhǔn)確地說是計算機硬件體系結(jié)構(gòu))對浮點數(shù)的表示,我們來看計算機(基于二進制)對十進制小數(shù) 0.1 的表示,十進制小數(shù)向二進制小數(shù)轉(zhuǎn)換的方法請見 Python十進制小數(shù)與二進制小數(shù)相互轉(zhuǎn)換。將十進制小數(shù) 0.1 轉(zhuǎn)換為二進制時的結(jié)果為 0.0001100110011001....,無限循環(huán),計算機無法展示無限的結(jié)果,只能對結(jié)果進行截斷,這是浮點數(shù)精度問題的根源。

“==” on floats

基于以上的考慮,當(dāng)我們進行浮點數(shù)的相等比較時,要特別小心,直接使用 == 是有問題的,一種通用的做法即是,不是檢測浮點數(shù)是否相等,而是檢測二者是否足夠接近,

>>> a = sqrt(2)>>> abs(a*a-2) < epsilon# 判斷是否小于某一小量

希望本文所述對大家Python程序設(shè)計有所幫助。


注:相關(guān)教程知識閱讀請移步到python教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 紫阳县| 高邮市| 牡丹江市| 昌平区| 阿拉尔市| 潜山县| 萝北县| 鄢陵县| 南雄市| 吴川市| 崇左市| 宜兰市| 文成县| 巫溪县| 安国市| 扎兰屯市| 南靖县| 惠来县| 资兴市| 墨江| 汪清县| 怀安县| 北宁市| 伊金霍洛旗| 城口县| 云霄县| 四会市| 博客| 桦川县| 赤水市| 平阳县| 卫辉市| 云阳县| 北碚区| 巫山县| 南京市| 黄大仙区| 宜宾县| 岳阳市| 阿鲁科尔沁旗| 明水县|