欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2017年10月12日 10:10:44   作者:Inside_Zhang  
這篇文章主要介紹了Python中的浮點(diǎn)數(shù)原理與運(yùn)算分析,結(jié)合實(shí)例形式分析了Python浮點(diǎn)數(shù)操作的常見錯(cuò)誤,并簡單解釋了浮點(diǎn)數(shù)運(yùn)算的原理與比較運(yùn)算實(shí)現(xiàn)方法,需要的朋友可以參考下

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

先看一個(gè)違反直覺的例子:

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

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

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

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

“==” on floats

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

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

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)學(xué)運(yùn)算技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總

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

相關(guān)文章

  • python使用thrift教程的方法示例

    python使用thrift教程的方法示例

    這篇文章主要介紹了python使用thrift教程的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • Python報(bào)錯(cuò)SyntaxError:unexpected?EOF?while?parsing的解決辦法

    Python報(bào)錯(cuò)SyntaxError:unexpected?EOF?while?parsing的解決辦法

    在運(yùn)行或編寫一個(gè)程序時(shí)常會遇到錯(cuò)誤異常,這時(shí)python會給你一個(gè)錯(cuò)誤提示類名,告訴出現(xiàn)了什么樣的問題,下面這篇文章主要給大家介紹了關(guān)于Python報(bào)錯(cuò)SyntaxError:unexpected?EOF?while?parsing的解決辦法,需要的朋友可以參考下
    2022-07-07
  • Python去除html標(biāo)簽的幾種方法總結(jié)

    Python去除html標(biāo)簽的幾種方法總結(jié)

    這篇文章主要介紹了Python去除html標(biāo)簽的幾種方法總結(jié),具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • 使用Flink與Python進(jìn)行實(shí)時(shí)數(shù)據(jù)處理的基本步驟

    使用Flink與Python進(jìn)行實(shí)時(shí)數(shù)據(jù)處理的基本步驟

    Apache Flink是一個(gè)流處理框架,用于實(shí)時(shí)處理和分析數(shù)據(jù)流,PyFlink是Apache Flink的Python API,它允許用戶使用Python語言來編寫Flink作業(yè),進(jìn)行實(shí)時(shí)數(shù)據(jù)處理,以下是如何使用Flink與Python進(jìn)行實(shí)時(shí)數(shù)據(jù)處理的基本步驟,需要的朋友可以參考下
    2024-09-09
  • 一步步教你用Python畫五彩氣球

    一步步教你用Python畫五彩氣球

    這篇文章主要給大家介紹了關(guān)于如何用Python畫五彩氣球的相關(guān)資料,主要是用turtle庫自帶的畫筆turtle.Turtle()來繪制氣球,文中給出了詳細(xì)的實(shí)例代碼,需要的朋友可以參考下
    2023-06-06
  • Python 用turtle實(shí)現(xiàn)用正方形畫圓的例子

    Python 用turtle實(shí)現(xiàn)用正方形畫圓的例子

    今天小編就為大家分享一篇Python 用turtle實(shí)現(xiàn)用正方形畫圓的例子,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • pandas.loc 選取指定列進(jìn)行操作的實(shí)例

    pandas.loc 選取指定列進(jìn)行操作的實(shí)例

    今天小編就為大家分享一篇pandas.loc 選取指定列進(jìn)行操作的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • python中小數(shù)點(diǎn)后取2位(四舍五入)及取2位(四舍五不入)的方法

    python中小數(shù)點(diǎn)后取2位(四舍五入)及取2位(四舍五不入)的方法

    這篇文章主要給大家介紹了python中小數(shù)點(diǎn)后取2位(四舍五入)及取2位(四舍五不入)的方法,在Python中取兩位小數(shù)的方法其實(shí)非常簡單,需要的朋友可以參考下
    2023-08-08
  • python遍歷文件夾的各種方法大全

    python遍歷文件夾的各種方法大全

    在Python中,可以使用多種方法來多次遍歷文件,下面這篇文章主要給大家介紹了關(guān)于python遍歷文件夾的各種方法,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-03-03
  • python中tkinter窗口位置\坐標(biāo)\大小等實(shí)現(xiàn)示例

    python中tkinter窗口位置\坐標(biāo)\大小等實(shí)現(xiàn)示例

    這篇文章主要介紹了python中tkinter窗口位置\坐標(biāo)\大小等實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07

最新評論