簡體   English   中英

標准:numeric_limits<double> ::epsilon 定義</double>

[英]std:numeric_limits<double>::epsilon definition

numeric_limits::espilon返回 1 和下一個 double 之間的差。 那么,我是否應該理解兩個相鄰雙打之間的距離並不總是相同的,例如 2 和下一個雙打之間的距離?

如果是的話,我能解釋一下嗎?

隨着您離零越來越遠,浮點數的“密度”會大大降低。

這是因為 IEEE 浮點本質上是以科學記數法存儲的,因此范圍比統一精度更受青睞。 (如果是統一精度,它將是定點,而不是浮點。)

換句話說,數字以Significand * 2 exponent的形式存儲,因此如果指數變大,有效數字的微小變化會產生數字的大變化(反之亦然)。

所以不,你不能假設 2 和下一個 double 之間的差異與 epsilon 相同; 不是。

雙精度數是浮點數。 它們由一個符號、一個有效數字和一個指數組成。

指數越高,雙精度數與其后繼數之間的差異越大。

指數越低,雙精度數與其后繼數之間的差異越小。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM