0

循環リンクリストを作成したいのですが、その中で最大値と最小値を見つける必要があるため、停止するチェックポイントが必要で、最初の要素に -0 を付けてそれを行いたいです (それは単なるチェックポイントであり、他には何もありません) )。ユーザーが新しいデータをリストに入力できるため、他の値を使用したくありません。ユーザーが-0を入力した場合、数学的な側面からはそれらの間に違いがないため、単純に0に置き換えます(私は永遠に使用しません-小さな数字:))。整数値を使用します。

質問は現在有益ではありません。私はそれを試してみましたが、結果は同じです:

#include <iostream>

using namespace std;

int main() {
    if(0 != -0){
        cout << "they are different!";
    }else{
        cout << "they are same";
    }

    return 0;
}

ありがとうございます。

4

4 に答える 4

3

数学の0-0は同じ値です。それらを区別することはできないため、この状態を説明どおりに使用できます。

于 2013-04-01T14:31:11.200 に答える
2

ほぼ普遍的な 2 の補数系の整数値は、負のゼロにすることはできません。それらの表現はありません。負のゼロは存在しません。

負のゼロは IEEE 浮動小数点数で発生する可能性がありますが、あまり頻繁には発生しません。負の数に 0.0 を掛けるとそれができます。

別のセンチネル値を見つけることをお勧めします。

于 2013-04-01T14:42:59.830 に答える