結(jié)果是?-4
成都創(chuàng)新互聯(lián)公司從2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元元寶山做網(wǎng)站,已為上家服務(wù),為元寶山各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:028-86922220
對(duì)正數(shù)是向下取整,對(duì)負(fù)數(shù)是向上取整。
學(xué)python的一個(gè)缺點(diǎn)就是對(duì)數(shù)據(jù)類型的基礎(chǔ)理解比較少,
你可以用二進(jìn)制來(lái)理解下,舉一個(gè)有符號(hào)的二進(jìn)制為例子:
對(duì)于無(wú)符號(hào)的?0b000~0b111?來(lái)說(shuō)分別有
0b000?=?0;
0b001?=?1;
0b010?=?2;
0b011?=?3;
0b100?=?4;
0b101?=?5;
0b110?=?6;
0b111?=?7;
比如?uint?就是?int?的無(wú)符號(hào)形式。
當(dāng)相同數(shù)據(jù)為有符號(hào)形式時(shí)變?yōu)椋?/p>
0b000?=?0;
0b001?=?1;
0b010?=?2;
0b011?=?3;
0b100?=?-4;
0b101?=?-3;
0b110?=?-2;
0b111?=?-1;
(參考原碼、反碼、補(bǔ)碼)
所以根據(jù)這個(gè)規(guī)則,對(duì)float,double等數(shù)字是同理,在floor時(shí)將有符號(hào)位進(jìn)行省略,如以下位運(yùn)算():
0b000??1?=?0b000
0b001??1?=?0b000
有?0-0?和?1?-?0
0b010??1?=?0b001
0b011??1?=?0b001
有?2-?1?和?3?-?1
按照這個(gè)丟失精度的方法計(jì)算負(fù)數(shù)呢?
0b111??1?=?0b111
0b110??1?=?0b111
0b101??1?=?0b110
0b100??1?=?0b110
可知:
-1?-?-1?與?-2?-?-1
-3?-?-2?與?-4?-?-2
所以對(duì)負(fù)數(shù)的?floor?會(huì)向上取整,因?yàn)閬G失精度的方法是直接根據(jù)小數(shù)點(diǎn)截?cái)嗟摹?/p>
內(nèi)置函數(shù),在python幫助文檔中:Build-in Functions
在Python提示符下,輸入下面語(yǔ)句,就會(huì)顯示Python提供的內(nèi)置函數(shù)列表
dir('__builtins__')
abs(_) 內(nèi)置函數(shù),絕對(duì)值或復(fù)數(shù)的模。
chr() 以單字節(jié)整數(shù)為參數(shù),返回一個(gè)單字符的字符串,其內(nèi)容是與之對(duì)于的ASCII字符。如chr(69)返回'E'。
cmp() 比較字符串,cmp('Xiao','Jian')返回1
coerce() (可以看成一個(gè)數(shù)值類型轉(zhuǎn)換函數(shù))有兩個(gè)參數(shù),都是數(shù)字,返回這兩個(gè)數(shù)字的一個(gè)列表,將這兩個(gè)數(shù)字的數(shù)據(jù)類型統(tǒng)一。如coerce(1,2j),返回(1+0j,2j)
complex() 內(nèi)置函數(shù),把……轉(zhuǎn)換成復(fù)數(shù),如complex('2')返回(2+0j),complex('2+3j')返回(2+3j)。
divmod() 內(nèi)置函數(shù),有兩個(gè)參數(shù),返回(商,余數(shù))。如divmod(10,2.5),返回(4.0,0.0)。
filter(function,list) 把函數(shù)應(yīng)用于list中的每一項(xiàng),并返回 從函數(shù)中返回真值的項(xiàng)。注:function可以為None,此時(shí)刪除list中的0或空項(xiàng)。
float() 內(nèi)置函數(shù),把……轉(zhuǎn)換成浮點(diǎn)數(shù)。
floor() 在math模塊內(nèi),需要import math。向下取整,即向x軸負(fù)方向取整。如math.floor(1.9)返回1,math.floor(-2.5)返回-3。
hash() 散列功能,詞典鍵的最精確功能需求是它一定是可散列的。對(duì)象的散列值是半唯一的、內(nèi)部生成的數(shù)字,它可用于快速比較。
int() 內(nèi)置函數(shù),把字符串或者小數(shù)轉(zhuǎn)換為一個(gè)整數(shù)。直接去掉小數(shù)部分。如int(5.3)返回5,int('5')返回5。
len(x) 序列x的長(zhǎng)度
long() 內(nèi)置函數(shù),把數(shù)字 或 代表整數(shù)的字符串 轉(zhuǎn)換成長(zhǎng)整型
map(function,list[,list,...])
max() 找出字符串中最大的字符。如:min('find the minimum character'),返回' ',即空格。
min() 找出字符串中最小的字符。如:max('find the maximum character'),返回'x'。
oct() 將十進(jìn)制數(shù)轉(zhuǎn)換成八進(jìn)制,再變成字符。
ord() 參數(shù)是單個(gè)的ASCII字符,返回該ASCII字符對(duì)應(yīng)的整數(shù)值,如ord('a')返回97。
pow() 內(nèi)置函數(shù),乘方。如果有第三個(gè)參數(shù),則表示乘方的結(jié)果對(duì)第三參數(shù)取余,如pow(2,3)返回8,pow(2,3,4)返回0。
print 輸出到窗口
range() 生成一個(gè)向量,例如range(m,n,d),從m到n,步長(zhǎng)為d;range(m)則生成0:m-1,步長(zhǎng)為1的向量。
raw_input() 輸入函數(shù),參數(shù)為字符串,作為輸入時(shí)的提示語(yǔ)句。返回值為字符串。
reduce(func)
round() 內(nèi)置函數(shù),對(duì)數(shù)字進(jìn)行四舍五入,第二個(gè)參數(shù)表示精確到小數(shù)點(diǎn)后指定的位數(shù),默認(rèn)值為0。如round(2.4)返回2,round(1.398,2)返回1.40。
type() 返回某數(shù)據(jù)的類型
python向上取整
相關(guān)推薦:《Python教程》
方法:
Python?match.ceil函數(shù)
ceil(x)函數(shù)是向上取整,即取大于等于x的最接近整數(shù)。
import math
math.ceil(float(1)/2)
是利用原來(lái)的向下取整的機(jī)制如果原來(lái)是
實(shí)際上Python的round()函數(shù)可以接受兩個(gè)參數(shù)round(value,ndigits),第一個(gè)參數(shù)為實(shí)際操作數(shù),第二個(gè)參數(shù)為實(shí)際保留幾位,如果第二個(gè)參數(shù)不填,則默認(rèn)保留到整數(shù)位。
Python3.X對(duì)于浮點(diǎn)數(shù)默認(rèn)的是提供17位數(shù)字的精度。