日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

解決Python中的modf()函數取小數部分不準確問題

瀏覽:145日期:2022-06-18 09:33:39
使用math.modf()對一個浮點數進行拆分時經常會遇到如下情況

如下

import mathprint(math.modf(2.4)) # 輸出 (0.3999999999999999, 2.0)

我們會發現對2.4進行拆分得到的小數并不是0.4,這是因為什么呢?

這是因為計算機采用的是二進制代碼,而二進制代碼由于計算上的誤差無法準確表示某些十進制數的小數部分。

下面我們具體來講一下。

我們知道一個十進制數轉化為二進制數需要分為兩部分進行計算:整數部分和小數部分。

整數部分采用“除二取余法”。將這個整數除以2,得到它的余數,然后將商再除以3,直到商為0為止,并將各個得到的余數按照相反的順序進行排列。

小數部分采用“乘2取整法”,將這個小數乘2,將新得到的數的整數部分取出,再用2乘余下的小數部分,如此往復直到乘積中的小數部分為0或者達到要求的精度為止。并將取出的整數部分按照取出的先后順序從前到后排列。

123/2=61...1 61/2=30...1 30/2=15...0 15/2=7...1 7/2=3...1 3/2=1...1 1/2=0...1 (123)10=(1111011)20.4*2=0.8...00.8*2=1.6...10.6*2=1.2...10.2*2=0.4...00.4*2=0.8...00.8*2=1.6...10.6*2=1.2...1(0.4)10=(0.011001100110011001100110...)2(123.4)2=(1111011.011001100110011...)2

十進制的0.4轉化為二進制時會出現重復循環“0110”的情況,但是目前計算機存儲浮點數是按照電器和電子工程師協會的標準(IEEE754浮點數存儲格式標準)來進行存儲的。

IEEE規定單精度浮點最多存儲32位(4個字節):

31位是符號位。1表示該數為負,0為正

30~23是指數位(-128-127)

22~0是尾數位,尾數的編碼一般是源碼和補碼

IEEE標準從邏輯上用三元組{S,E,M}表示一個數,如圖所示:

解決Python中的modf()函數取小數部分不準確問題

也就是說上面將0.4轉換出的二進制代碼,我們只能存儲23位,即使數據類型為double,也只能存儲52位,這樣大家便能看出問題出現的原因了。23位的數據顯然無法完整表示0.4的二進制數據,于是誤差產生了。

那所有的十進制小數都無法完整表示嗎?不是的,只要小數部分乘上2最終小數部分能夠得到0就不會出現這種問題,比如0.5,0.75。

import mathprint(math.modf(1.5)) # 輸出 (0.5,1.0)

0.5*2=1...1(0.5)10=(0.1)20.75*2=1.5...10.5*2=1...1(0.75)10=(0.11)2

補充:Python中“取整”的各種問題

一、初衷:

有時候我們分頁展示數據的時候,需要計算頁數。一般都是向上取整,例如counts=205 pageCouts=20 ,pages= 11 頁。

一般的除法只是取整數部分,達不到要求。

二、方法:1、通用除法:

UP(A/B) = int((A+B-1)/B)

取臨界值,計算下A+B-1的范圍就OK.

2 、Python除法:

首先要說的是python中的除法運算,

當使用x/y形式進行除法運算時,那么會進行所謂的true除法,比如2.0/3的結果是 0.66666666666666663。

另外一種除法是采用x//y的形式(向下取整),那么這里采用的是所謂floor除法,即得到不大于結果的最大整數值,這個運算時與操作數無關的。比如2//3的結果是0,-2//3的結果是-1,-2.0//3的結果是-1.0。

在python 3.0中,x/y將只執行true除法,而與操作數無關;x//y則執行floor除法。

Python運算向上取整方法:(A+B-1)/B

3、Python match.ceil函數 np.ceil函數

ceil(x)函數是向上取整,即取大于等于x的最接近整數。

import math math.ceil(float(205)/20) import numpy as npnp.ceil(float(205)/20)Python 向上取整的算法1、一般使用floor除法 (np.floor()或者math.floor())

import numpy as np n = np.array([-1.7, -2.5, -0.2, 0.6, 1.2, 2.7, 11]) floor = np.floor(n)print(floor) # [ -2. -3. -1. 0. 1. 2. 11.]2、一般除法/

A=100B=16c=100//16(c=6)3、round()四舍五入函數。

np.around 返回四舍五入后的值,可指定精度。

around(a, decimals=0, out=None)

a 輸入數組

decimals 要舍入的小數位數。 默認值為0。 如果為負,整數將四舍五入到小數點左側的位置

import numpy as np n = np.array([-0.746, 4.6, 9.4, 7.447, 10.455, 11.555]) around1 = np.around(n)print(around1) # [ -1. 5. 9. 7. 10. 12.] around2 = np.around(n, decimals=1)print(around2) # [ -0.7 4.6 9.4 7.4 10.5 11.6] around3 = np.around(n, decimals=-1)print(around3) # [ -0. 0. 10. 10. 10. 10.]Python 分別取整的算法

math模塊中的 modf()方法

將整數部分和小數部分分別取出,可以使用math模塊中的 modf()方法

例如:

>>> math.modf(4.25)(0.25, 4.0)>>> math.modf(4.33)

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲国产一区二区在线观看 | 午夜在线播放视频欧美| 日韩一区欧美| 日韩高清中文字幕一区二区| 中国字幕a在线看韩国电影| 99视频精品免费观看| 亚洲播播91| 日韩精品一区二区三区av| 欧美资源在线| 日本在线观看不卡视频| 91p九色成人| 国产suv精品一区二区四区视频| 尤物在线精品| 欧美日韩a区| 国产精品毛片在线| 美女精品在线观看| 亚洲精品麻豆| 亚洲精品乱码| 国产精品亚洲欧美一级在线| 精品成人18| 亚洲不卡av不卡一区二区| 亚洲激情中文| 日韩影片在线观看| 免费一级欧美片在线观看网站 | 亚洲激情社区| 亚洲精品极品| 精品国产网站| 日韩一级不卡| 国产欧美视频在线| 国产麻豆久久| 深夜福利亚洲| 激情综合五月| 西西人体一区二区| 国产美女精品视频免费播放软件| 老司机免费视频一区二区| 特黄特色欧美大片| 亚洲精品观看| 在线手机中文字幕| 国产亚洲永久域名| 国产精品美女在线观看直播| 欧美天堂视频| 亚洲精品婷婷| 日av在线不卡| 国产激情欧美| 一本色道久久精品| 久久精品影视| 亚洲91视频| www.51av欧美视频| 不卡一区综合视频| 蜜桃久久久久久| 久久先锋影音| 日本韩国欧美超级黄在线观看| 亚洲激精日韩激精欧美精品| 老鸭窝亚洲一区二区三区| 国产欧美日韩视频在线 | 精品一级视频| 巨乳诱惑日韩免费av| 国产中文欧美日韩在线| 亚洲男女自偷自拍| 久久精品国产亚洲一区二区三区| 国产91一区| 国产精品视频一区二区三区| 激情欧美一区| 黄色网一区二区| 天堂俺去俺来也www久久婷婷| 高清av一区| 五月亚洲婷婷 | 亚洲欧美日韩国产一区二区| 久久久精品国产**网站| 久久高清国产| 成人久久一区| 另类综合日韩欧美亚洲| 深夜福利一区| 国产综合视频| 91日韩欧美| 国产精品一区二区三区av麻| 国产免费成人| 激情不卡一区二区三区视频在线| 偷拍亚洲精品| 福利精品一区| 91高清一区| 精品视频一二| 久久中文视频| 欧美日韩a区| 亚洲欧洲一区| 精品成av人一区二区三区| 久久都是精品| 亚洲性色av| 久久久久免费av| 日韩国产网站| 久久精品亚洲| 日韩精品国产欧美| 国内亚洲精品| 国产传媒在线| 精品视频一区二区三区四区五区| 日韩久久一区| 三级亚洲高清视频| 国产亚洲精品v| 九九综合九九| 婷婷精品视频| 欧美成人基地| 日韩中文在线电影| 黑人精品一区| 高清一区二区| 精品国产亚洲一区二区三区在线| 欧美日韩一区二区国产| 亚洲免费资源| 国产视频一区免费看| 99精品小视频| 天堂网av成人| 久久精品卡一| 群体交乱之放荡娇妻一区二区| 日韩中文字幕高清在线观看| 国产精品99在线观看| 国产精品久久久久久久免费观看 | 天堂成人国产精品一区| 欧美+日本+国产+在线a∨观看| 久久天堂精品| 久久久久网站| 国产专区一区| 日本成人中文字幕在线视频| 国产亚洲午夜| 亚洲神马久久| 亚洲黑丝一区二区| 99国产成+人+综合+亚洲欧美| 久久国产中文字幕| 欧美+亚洲+精品+三区| 亚洲一二三区视频| 青青国产精品| av在线日韩| 综合国产精品| 精品国产aⅴ| 精品视频一区二区三区四区五区| 久久精品国产免费| 国产999精品在线观看| 高清不卡亚洲| 亚洲精品a级片| 免费黄网站欧美| 日韩高清成人在线| 麻豆视频久久| 日韩精品影视| 制服诱惑一区二区| 中文字幕一区二区av| 欧美偷窥清纯综合图区| 欧美国产另类| 久久久久久久久久久妇女| 亚洲欧美伊人| 一区二区三区四区日韩| 国产精品一二| 中文一区一区三区高中清不卡免费| 久久国产直播| 亚洲伊人影院| 国产精品久久久久久模特| 91日韩欧美| 99pao成人国产永久免费视频 | 亚洲欧洲高清| 一区免费视频| 日本视频中文字幕一区二区三区| 国产亚洲一区| av在线最新| 国产女优一区| 国产精品片aa在线观看| 亚洲伦乱视频| 亚洲精品伊人| 黄毛片在线观看| 免费精品视频在线| 久久中文字幕一区二区三区| 日韩一区精品| 狠狠色狠狠色综合日日tαg| 蜜臀91精品国产高清在线观看 | 一本色道久久精品| 97精品视频在线看| 日韩精品亚洲专区| 人人爱人人干婷婷丁香亚洲| 久久视频精品| 国产成人精品一区二区三区免费 | 国产一区亚洲| 天堂va在线高清一区| 精品国产精品国产偷麻豆| 黄色日韩在线| 国产麻豆久久| 欧美特黄视频| 日本午夜精品久久久| 亚洲免费福利| 一区二区三区四区日本视频| 亚洲精品美女| 欧美www视频在线观看| 久久先锋影音| 国产成人免费精品| 中文字幕亚洲精品乱码| 亚洲国产欧美日本视频| 亚洲精品麻豆| 日韩大片在线| 日韩av资源网| 国产伊人精品| 精品视频在线一区二区在线| 欧美不卡视频| 红杏一区二区三区| 亚洲日本免费电影| 激情婷婷综合|