手機(jī)也能上課
1/4
浮點數(shù)
Python 中使用浮點數(shù)來表示不是整數(shù)的數(shù)字。
浮點數(shù)表示的數(shù)字的例子:0.5 和 -7.8237591。
浮點數(shù)可以通過輸入帶小數(shù)點的數(shù)字直接創(chuàng)建,也可以使用整數(shù)除法等操作產(chǎn)生。
數(shù)字結(jié)尾的零會被忽略。
print(3/4)
print(0.523322)
計算機(jī)不能完全精確地存儲浮點數(shù),就像我們不能寫下1/3(0.3333333333333333 ...)的完整小數(shù)點一樣。
記住這一點,因為它往往會導(dǎo)致令人憤慨的錯誤!
為什么計算機(jī)不能完全精確地存儲浮點數(shù)?
計算機(jī)不能精確存浮點數(shù),一是因為它的 “空間” 有限。
一個數(shù)變成二進(jìn)制后可能很長,計算機(jī)存不下那么多,只能截斷一部分,就有了誤差。
二是有些十進(jìn)制數(shù)像 0.1 和 0.2,變成二進(jìn)制后是無限循環(huán)的。
print(0.1+0.2) # 0.30000000000000004
所以在python中直接使用0.1+0.2并不會等于0.3。
計算機(jī)存儲空間有限,存不下完整的無限循環(huán)的數(shù),所以就沒辦法精確存儲浮點數(shù)啦。
不過像 0.5 這樣的數(shù)在二進(jìn)制里很簡單,就可以精確存儲。
print(0.1+0.5) # 0.6