C 浮點數判斷相等的方法

2021-10-09 03:01:18 字數 418 閱讀 6859

先看下面一段**:

#include using namespace std;

int main()

看起來最後的執行結果都應該是「==」,其實真正的執行結果都為「!=」

因為浮點數在計算機中並不能精確儲存,由於ieee浮點標準表示資料精度有限,浮點運算很容易造成微小的誤差,所以不能用等號判斷浮點數是否相等。

採取的方法是設定乙個閾值,計算相比較的兩個數的差值的絕對值,與閾值比較,小於閾值即可算作相等

修改後的**:

#include #include #define error 1e-6

using namespace std;

int main()

最後的執行結果都是「==」

1203 判斷浮點數是否相等

題目描述 description 給出兩個浮點數,請你判斷這兩個浮點數是否相等 輸入描述 input description 輸入僅一行,包含兩個浮點數 輸出描述 output description 輸出僅一行,如果相等則輸出yes,否則輸出no。樣例輸入 sample input 2.98000...

wikioi 1203 判斷浮點數是否相等

題目描述 description 給出兩個浮點數,請你判斷這兩個浮點數是否相等 輸入描述 input description 輸入僅一行,包含兩個浮點數 輸出描述 output description 輸出僅一行,如果相等則輸出yes,否則輸出no。樣例輸入 sample input 2.98000...

codevs 1203 判斷浮點數是否相等

題目描述 description 給出兩個浮點數,請你判斷這兩個浮點數是否相等 輸入描述 input description 輸入僅一行,包含兩個浮點數 輸出描述 output description 輸出僅一行,如果相等則輸出yes,否則輸出no。樣例輸入 sample input 2.98000...