問題タブ [numeric-limits]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
543 参照

c++ - テンプレートとstd::numeric_limits

私はAtomicというクラスを持っています。これは基本的に_Atomic_word、gccアトミックビルトインを呼び出すplusメソッドです。

std::numeric_limits<Atomic>インスタンス化したいと思いますstd::numeric_limits<underlying integer type>(たとえば、私のシステム_Atomic_wordでは、intのtypedefにすぎません)。

これを行う方法はありますか?

0 投票する
8 に答える
309057 参照

c++ - int の最大値

Integer.MaxValuejavaのC/C++のような関数で(コンパイラに従って)整数の最大値を見つけるコードはありますか?

0 投票する
6 に答える
22680 参照

c++ - 警告C4003およびエラーC2589およびC2059:x = std ::numeric_limits:: max();

この行は小さなテストプログラムでは正しく機能しますが、必要なプログラムでは、次のコンパイラの苦情があります。

同じ結果が得られます:

maxをマクロmax(a、b)と見なすのはなぜですか。?

0 投票する
5 に答える
364 参照

c++ - 閉じた範囲でのループ

このコードをどのように修正しますか?

  • T は整数型に制限され、そのような型の幅が広くなり、符号付きまたは符号なしにすることができます

  • beginすることができますnumeric_limits<T>::min()

  • endすることができますnumeric_limits<T>::max()(その場合++i、上記のコードでオーバーフローします)

私はいくつかの方法を持っていますが、本当に好きなものはありません。

0 投票する
4 に答える
29478 参照

c - FLT_MIN がゼロに等しいのはなぜですか?

limits.hINT_MINおよび などの非浮動小数点演算タイプの制限を指定しますINT_MAX。これらの値は、int を使用して表すことができる最も負の値と最も正の値です。

には、 とfloat.hの定義がFLT_MINありFLT_MAXます。次の場合:

次の出力が得られます。

FLT_MAXは、ご想像のとおり、非常に大きな数に等しいのですが、なぜFLT_MIN非常に大きな負の数ではなくゼロに等しいのでしょうか?

0 投票する
5 に答える
10641 参照

c++ - 定数式でnumeric_limits::max()を使用する

クラス内で、可能な最大のint値である定数を定義したいと思います。このようなもの:

この宣言は、次のメッセージでコンパイルに失敗します。

nude.cpp:8:エラー:'std :: neuro_limits :: max()'は定数式に表示できませんnumeric.cpp:8:エラー:関数呼び出しは定数式に表示できません

これが機能しない理由は理解できますが、2つのことが奇妙に見えます。

  1. 定数式で値を使用するのは自然な決断のように思えます。言語設計者がmax()を関数にして、この使用を許可しないことにしたのはなぜですか?

  2. 仕様は18.2.1で次のように主張しています

    nude_limitsテンプレートでstaticconstと宣言されたすべてのメンバーについて、特殊化は、これらの値を整数定数式として使用できるように定義する必要があります。

    シナリオで使用できるはずで、エラーメッセージと矛盾しないのではないでしょうか。

ありがとうございました。

0 投票する
1 に答える
2177 参照

c++ - std::numeric_limitsがなぜですか:: max()関数?

C ++標準ライブラリでは、値std::numeric_limits<T>::max()は関数として指定されます。特定のタイプのその他のプロパティは、定数(などstd::numeric_limits<T>::is_signed)として指定されます。タイプのTすべての定数は関数として与えられますが、他のすべての定数は定数値として与えられます。

その背後にある理論的根拠は何ですか?

0 投票する
2 に答える
27679 参照

c++ - Qtタイプの制限はどこにありますか?

定期的に、limits.hを参照して、intやlongなどの特定のタイプの最大値を確認できます。

Qtには、qlonglongのようなタイプがあります。これらのタイプの制限を手動またはプログラムで参照するために同様の方法で使用できるヘッダーファイルおよび/またはドキュメントはありますか?

0 投票する
2 に答える
45656 参照

c++ - 「numeric_limits」はこのスコープで宣言されていません。「max()」の呼び出しに一致する関数がありません

このコードを自宅の Mac で xcode を使用してコンパイルしましたが、問題はありませんでした。Linuxでg ++を使用して学校でコンパイルすると、次のエラーが発生します。

numeric_limits' は std のメンバーではありません

'>' の前に一次式が必要です トークン

「max()」の呼び出しに一致する関数がありません</p>

たぶん、追加のヘッダーを含める必要があると思います。を取り除くとstd::、同様のエラーが表示されます。

numeric_limitsこのスコープで宣言されていませんでした

0 投票する
12 に答える
36909 参照

integer - 符号なし n ビット整数の最大値が 2ⁿ ではなく 2ⁿ-1 であるのはなぜですか?

nビット整数の最大値は 2 n -1 です。なぜ「マイナス1」があるのですか?最大値が 2 nではないのはなぜですか?