浮點誤差怎么解決 為什么浮點數(shù)運算會有誤差?
為什么浮點數(shù)運算會有誤差?完全地說,這并不是說“浮點數(shù)必須有錯誤”,而是“使用二進制浮點數(shù)來表示十進制小數(shù)在大多數(shù)情況下都會有錯誤?!?。比如十進制0.1轉換成二進制是一個無限循環(huán)浮點數(shù),尾數(shù)是無限的,
為什么浮點數(shù)運算會有誤差?
完全地說,這并不是說“浮點數(shù)必須有錯誤”,而是“使用二進制浮點數(shù)來表示十進制小數(shù)在大多數(shù)情況下都會有錯誤。”。比如十進制0.1轉換成二進制是一個無限循環(huán)浮點數(shù),尾數(shù)是無限的,但實際存儲只能存儲幾個位,自然有錯誤。根據(jù)你的說法,十進制也有錯誤。π不能完全用十進制表示,1/3不能完全用十進制表示
首先,您需要確定您定義的變量類型。
Float是單精度浮點數(shù)類型。如果有任何錯誤,可以考慮使用double。精度應該更高。