我目前正在C中做一些2D幾何圖形,大多數是相交的線條。這些線條有各種各樣的斜坡:從0.001到1000(例如,我甚至不知道)。C浮點數:如何在二維幾何圖形中繞過它們(線條)
我到目前爲止使用的是浮點數,並且不必擔心值是否非常小(然後浮點數將存儲0,0011作爲1e-3而沒有舍入)或非常高(然後1001會是存儲爲1e3),在這兩種情況下,相關的精度損失很小。
但現在我想嘗試沒有浮動,整數。如何保持我的計算精度?我可以有一面旗幟告訴我坡度是大還是小,然後考慮十分之一的大斜坡和十倍的小坡度,這樣對於小坡地來說,四捨五入就不成問題,並且在大坡度的情況下沒有溢流。但那感覺像是頭痛。
基本上我需要仍然能夠區分0.2和0.4的斜率,以及1000和2000的斜率(假設在1000處溢出的內部溢出 - 這裏沒有問題)。
還有其他想法嗎?
除了存儲上升和運行? –
使用「double」並與不精確度相符?爲什麼你需要超過15位十進制精度的有效數字?這個精確度足以測量從這裏到冥王星的距離,單位爲釐米。 – Bathsheba
做計算幾何時,你總會有不精確的地方,因爲你總會有不合理的數字。 –