目錄
print(0.1+0.2)
print(0.1+0.1+0.1-0.2)
print(0.1+0.1+0.1-0.3)
輸出:
0.30000000000000004
0.10000000000000003
5.551115123125783e-17
出現這種精度問題:因為十進位制與二進位制的相互轉換(計算機只認識二進位制,將十進位制轉換為二進位制,十進位制0.1轉換為二進位制,是無限迴圈的,無法精確)。
decimal.decimal()
:十進位制模組。
import decimal
a = decimal.decimal('0.1')
b = decimal.decimal('0.2')
print(a+b)
# 0.3
fraction()
:分數模組。
from fractions import fraction
print(10/3)
print(fraction(10, 3))
輸出:
3.3333333333333335
10/3
浮點型精度分析
科學計數法1.233e23,e大概是exponent指數,階碼。分為三部分,整數部分為1的因數,e是進製階數,後邊是指數二進位制和十進位制轉換 二進位制轉10進製自然語言中以十進位制為主,將十進位製作為基座標更加容易理解 例二進位制 1.1 十進位制 加權係數展開 整數部分 1 2 小數部分 1 2...
浮點型資料的精度控制問題
time limit 1 sec memory limit 16 mb submit 2380 solved 392 submit status web board 兩點確定一條直線,判斷一條直線與乙個圓的位置關係。輸入中前兩行每行描述乙個點的座標 x,y x,y均為實數。第三行包含三個實數,即圓心...
什麼叫單精度浮點型?什麼叫雙精度浮點型?
引用一寫道 單精度浮點型 float 專指占用32位儲存空間的單精度 single precision 值。單精度在一些處理器上比雙精度更快而且只占用雙精度一半的空間,但是當值很大或很小的時候,它將變得不精確。當你需要小數部分並且對精度的要求不高時,單精度浮點型的變數是有用的。例如,當表示美元和分時...