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

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

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

瀏覽:144日期: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久久,三上悠亚国产精品一区二区三区
国产精品日韩| 亚洲欧美日韩精品一区二区| 欧美亚洲专区| 久久久久久亚洲精品美女| 日本成人在线一区| 亚洲1区在线| 日韩中文av| 日韩美女国产精品| 欧美精品国产一区| 国产精品亚洲欧美日韩一区在线| 日韩国产欧美在线视频| 最新国产精品视频| 日韩精品亚洲专区| 日韩综合小视频| 国产精品一站二站| 老色鬼精品视频在线观看播放| 国产aⅴ精品一区二区四区| 都市激情国产精品| 岛国av免费在线观看| 国产一区久久| 午夜在线精品| 日韩av二区在线播放| 国产精品99久久免费观看| 国产伊人久久| 91精品综合| 亚洲午夜久久| 国产毛片精品久久| 麻豆视频在线观看免费网站黄 | 欧美色综合网| 欧美91在线| 色偷偷偷在线视频播放| 日韩在线不卡| 鲁大师成人一区二区三区| 日韩欧乱色一区二区三区在线| 欧美激情一区| 欧美一区二区三区激情视频| 先锋影音国产一区| 欧美日本不卡| 日韩久久电影| 蜜桃久久久久久| 久久国产精品美女| 久久精品一区二区不卡| 视频一区中文| 亚洲1区在线| 国产成人精品999在线观看| 色婷婷久久久| 亚洲精品免费观看| 国产专区精品| 午夜亚洲一区| 美女国产精品久久久| 不卡在线一区| 国产日韩视频在线| 天堂资源在线亚洲| 91av一区| 国模 一区 二区 三区| 欧美日韩精品一区二区三区视频| 日韩av有码| 欧美日韩精品免费观看视频完整| 亚洲tv在线| 亚洲www啪成人一区二区| 亚洲啊v在线免费视频| 欧美aa在线观看| 日本不卡在线视频| 色爱av综合网| 欧美三级第一页| 精品视频网站| 国产精品v亚洲精品v日韩精品| 国产夫妻在线| 色8久久久久| 激情视频网站在线播放色| 中文字幕中文字幕精品| 超碰99在线| 免费精品视频| 成人国产精品| 日韩中文字幕视频网| 999久久久91| 欧美aⅴ一区二区三区视频| 另类国产ts人妖高潮视频| 色乱码一区二区三区网站| 久久国产精品亚洲77777| 一区三区视频| 亚洲一区二区毛片| 国产一区二区三区精品在线观看| 青青国产精品| 国产精品大片| 国产欧美一区二区色老头| 清纯唯美亚洲综合一区| 国产精品a久久久久| 国内一区二区三区| 91久久黄色| 福利一区二区| 日本91福利区| 国产免费成人| 久久久久99| 久久精品免视看国产成人| 日本一区二区三区中文字幕| 国产99久久久国产精品成人免费| 国际精品欧美精品| 欧美激情网址| 国产精品一区二区三区四区在线观看 | 麻豆精品av| 日韩国产欧美在线播放| 宅男噜噜噜66国产日韩在线观看| 日韩精品dvd| 精品精品99| 国产高清精品二区| 国产伦理一区| 日本欧美韩国一区三区| 综合激情婷婷| 91久久久久| 不卡一区综合视频| 在线视频观看日韩| 色天使综合视频| 麻豆精品蜜桃| 91精品韩国| 色婷婷综合网| 国产不卡人人| 亚洲欧洲美洲av| 91一区二区| 亚洲综合电影| а√在线中文在线新版| 中文在线免费视频| 91视频一区| 天堂av在线| 高清不卡亚洲| 成人国产精品一区二区免费麻豆| 精品亚洲自拍| 色爱综合网欧美| 亚洲成人不卡| 欧美日中文字幕| 久久国产日本精品| 久久精品不卡| 精品中文字幕一区二区三区av| 九九综合九九| 美女网站久久| 亚洲日本免费电影| 亚洲精品日韩久久| 日韩高清欧美激情| 国产欧美88| 精品视频在线观看网站| 久久在线91| 天堂中文av在线资源库| 欧美日韩在线播放视频| 先锋亚洲精品| 97成人在线| 国产精品欧美在线观看| 欧美国产不卡| 日韩免费高清| 9久re热视频在线精品| 亚洲开心激情| 国产精品自拍区| 高清一区二区| 欧美日韩国产探花| 日本亚洲最大的色成网站www| 国产精品国产三级在线观看| 精品视频在线一区二区在线| 日韩不卡免费高清视频| 精品91久久久久| 亚洲美女91| 精品九九久久| 99热精品在线| 久久精品99久久久| 波多视频一区| 免费久久99精品国产| 日本亚州欧洲精品不卡| 久久精品国产福利| 欧美/亚洲一区| 日本精品一区二区三区在线观看视频| 麻豆精品久久| 亚洲欧美综合| 日韩高清一级| 美女网站视频一区| 日韩一区二区三免费高清在线观看| 美女视频一区在线观看| 久久久夜精品| 中文字幕日韩高清在线 | 国产欧美日韩精品一区二区三区| 免费高潮视频95在线观看网站| 性一交一乱一区二区洋洋av| 国产欧美日韩精品一区二区三区| 青青久久av| 91亚洲精品在看在线观看高清 | 卡一卡二国产精品| 久久伦理在线| 日韩不卡在线观看日韩不卡视频| 韩国久久久久久| 亚洲免费观看高清完整版在线观| 久久字幕精品一区| 亚洲欧美成人综合| 精品亚洲成人| 蜜臀av性久久久久蜜臀aⅴ四虎| 美女av一区| 国产免费成人| 91日韩欧美| 欧美亚洲三区| 乱人伦精品视频在线观看| 韩国久久久久久| 日韩二区三区在线观看| 欧美日一区二区| 欧美黄页在线免费观看|