最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python執(zhí)行精確的小數(shù)計(jì)算方法

 更新時(shí)間:2019年01月21日 09:56:06   作者:yangjiajia123456  
今天小編就為大家分享一篇python執(zhí)行精確的小數(shù)計(jì)算方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

在進(jìn)行浮點(diǎn)數(shù)計(jì)算時(shí)它們無(wú)法精確表達(dá)出所有的十進(jìn)制小數(shù)位。

a = 4.1
b = 5.329
print(a+b)
 
9.428999999999998

這些誤差實(shí)際上是底層CPU的浮點(diǎn)運(yùn)算單元和IEEE754浮點(diǎn)數(shù)算數(shù)標(biāo)準(zhǔn)的一種“特性”。python的浮點(diǎn)數(shù)類型保存的數(shù)據(jù)采用的是原始表示形式,因此使用float實(shí)例時(shí)就不能避免這樣的誤差。

我們可以使用decimal模塊避免這種操作(如果不介意犧牲下性能):

from decimal import Decimal
a = Decimal('4.1')
b = Decimal('5.329')
print(a+b)
 
9.429

注意Decimal的參數(shù)必須是字符串,不能是浮點(diǎn)型,否則誤差依舊存在。

decimal模塊的主要功能是允許控制計(jì)算過(guò)程中的各個(gè)方面,包括數(shù)字的尾數(shù)和四舍五入。

from decimal import Decimal
from decimal import localcontext
a = Decimal(4.1)
b = Decimal(5.329)
print(a/b)
print('================')
with localcontext() as ctx:
  ctx.prec = 3
  print(a/b)
 
0.7693751172827922400071261708
================
0.769

getcontext也可以實(shí)現(xiàn)和localcontext一樣的功能

from decimal import Decimal, getcontext
a = Decimal(4.1)
b = Decimal(5.329)
getcontext().prec = 3
print(a/b)
 
0.769

誤差我們不能完全消除,我們只能盡力優(yōu)化算法,使得誤差盡可能小。在大數(shù)和小數(shù)相加時(shí)要格外注意。

nums = [3.21e+18, 1, -3.21e+18]
print(sum(nums))
print('=========================')
import math
res = math.fsum(nums)
print(res)
 
0.0
=========================
1.0

以上這篇python執(zhí)行精確的小數(shù)計(jì)算方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python繪制三維圖的詳細(xì)新手教程

    python繪制三維圖的詳細(xì)新手教程

    通常我們用 Python 繪制的都是二維平面圖,但有時(shí)也需要繪制三維場(chǎng)景圖,下面這篇文章主要給大家介紹了關(guān)于python繪制三維圖的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • python使用三角迭代計(jì)算圓周率PI的方法

    python使用三角迭代計(jì)算圓周率PI的方法

    這篇文章主要介紹了python使用三角迭代計(jì)算圓周率PI的方法,實(shí)例分析了Python迭代算法的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-03-03
  • python-docx 頁(yè)面設(shè)置詳解

    python-docx 頁(yè)面設(shè)置詳解

    今天小編就為大家分享一篇python docx 中頁(yè)面的設(shè)置,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-10-10
  • flask上使用websocket的方法示例

    flask上使用websocket的方法示例

    本文主要介紹了flask上使用websocket的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • Python的ini配置文件你了解嗎

    Python的ini配置文件你了解嗎

    這篇文章主要為大家詳細(xì)介紹了Python的ini配置文件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-03-03
  • Python基礎(chǔ)教程之Pandas數(shù)據(jù)分析庫(kù)詳解

    Python基礎(chǔ)教程之Pandas數(shù)據(jù)分析庫(kù)詳解

    Pandas是一個(gè)基于 NumPy 的非常強(qiáng)大的開(kāi)源數(shù)據(jù)處理庫(kù),它提供了高效、靈活和豐富的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)分析工具,本文中,我們將學(xué)習(xí)如何使用Pandas來(lái)處理和分析數(shù)據(jù),感興趣的小伙伴跟著小編一起來(lái)看看吧
    2023-07-07
  • Python字典一個(gè)key對(duì)應(yīng)多個(gè)value幾種實(shí)現(xiàn)方式

    Python字典一個(gè)key對(duì)應(yīng)多個(gè)value幾種實(shí)現(xiàn)方式

    python中字典的健和值是一一對(duì)應(yīng)的,如果對(duì)字典進(jìn)行添加操作時(shí)如果健的名字相同,則當(dāng)前健對(duì)應(yīng)的值就會(huì)被覆蓋,有時(shí)候我們想要一個(gè)健對(duì)應(yīng)多個(gè)值的場(chǎng)景,這篇文章主要給大家介紹了關(guān)于Python字典一個(gè)key對(duì)應(yīng)多個(gè)value幾種實(shí)現(xiàn)方式的相關(guān)資料,需要的朋友可以參考下
    2023-10-10
  • python批量合成bilibili的m4s緩存文件為MP4格式 ver2.5

    python批量合成bilibili的m4s緩存文件為MP4格式 ver2.5

    這篇文章主要介紹了python批量合成bilibili的m4s緩存文件為MP4格式 ver2.5的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • python繪制ROC曲線的示例代碼

    python繪制ROC曲線的示例代碼

    本文主要介紹了python繪制ROC曲線的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • Python基于自然語(yǔ)言處理開(kāi)發(fā)文本摘要系統(tǒng)

    Python基于自然語(yǔ)言處理開(kāi)發(fā)文本摘要系統(tǒng)

    自然語(yǔ)言處理(NLP)是人工智能領(lǐng)域中一個(gè)重要的研究方向,而文本摘要作為NLP的一個(gè)重要應(yīng)用,在信息爆炸的時(shí)代具有重要意義,下面我們來(lái)看看如何開(kāi)發(fā)一個(gè)基于Python的文本摘要系統(tǒng)吧
    2025-04-04

最新評(píng)論

台州市| 五华县| 高青县| 凉城县| 牙克石市| 麟游县| 维西| 平塘县| 靖江市| 文山县| 重庆市| 松阳县| 酒泉市| 高平市| 马公市| 汝南县| 城固县| 金山区| 阳西县| 长顺县| 鲜城| 营口市| 南汇区| 陆良县| 渭南市| 麻阳| 新巴尔虎左旗| 荃湾区| 文山县| 巴南区| 三亚市| 泗阳县| 天津市| 昭苏县| 西林县| 寻乌县| 滦南县| 揭阳市| 通河县| 永仁县| 顺平县|