簡體   English   中英

C ++比較雙打

[英]C++ Comparing Doubles

將<或>與雙精度一起使用是否存在任何已知問題?

d1 > d2

d2 > d1

我找不到任何跡象表明這將是一個問題。

但是,由於存在平等問題,我認為這將是一個問題,我將不得不使用Epsilon使用“幾乎相等”的邏輯:

d1 >= d2

d2 >= d1

><完全按照預期工作; 如果d1的值大於d2的值,則d1 > d2將為true (反之亦然)。 問題(如果存在)是d1d2可能與您期望的值不完全相同。

但是,用> >=替換>會改變d1一個值的行為(對於d2的固定值)。

唯一的問題是,在您認為兩個變量d1d2具有相等值的情況下,您可能會獲得“誤報”。 在這種情況下,如果您執行d1 > d2 ,則該表達式可能會評估為true。

暫無
暫無

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

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