問題タブ [numeric-conversion]

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 投票する
3 に答える
113 参照

c++ - C++ での型認識文字列から数値への変換

この世界のすべての数値が正の整数であり、uintX_t C++ 型で表現できると仮定しましょう。

std::string を数値に変換する次のすばらしいコードを考えてみましょう。

ご覧のとおり、この関数には複数のエラーがありますが、特定のエラーに興味があります: 型が値を格納するのに十分な大きさでない場合 (例として 2 番目の変換呼び出し) を検出し、作成時に UB を回避する方法result = result * 10 + *it - '0';Tその操作を行う前に最大値を超えるかどうかを知りたいです。これは可能ですか?

編集: Is signed integer overflow still undefined behavior in C++?を確認してください。C++ の算術演算に関する UB の詳細については、result = result * 10 + *it - '0';結果がオーバーフローするときに行を実行することを避けたい。答えでは、行はまだ実行されています...

EDIT2:ここで答えを見つけました:整数オーバーフローを検出する方法?

EDIT3: 受け入れられた回答は、署名された型に適用されます。unsigned 型の場合 Cheers と hth. - アルフの答えは正しいです。

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

compiler-errors - UInt64 を Int64 に変換するには?

この関数呼び出しの 2 番目の引数:

コンパイラエラーが発生します:

スウィフトリファレンス

0 投票する
7 に答える
5257 参照

c# - 負の値をチェックする代わりに、uint にキャストして範囲チェックを実行する方が効率的ですか?

.NET のリスト ソース コードでこのコードを見つけました。

どうやらこれはより効率的 (?) です。if (index < 0 || index >= _size)

トリックの背後にある理論的根拠に興味があります。単一の分岐命令は、 への 2 回の変換よりも本当にコストがかかるのuintでしょうか? または、このコードを追加の数値比較よりも高速にする他の最適化が行われていますか?

部屋の中の象に対処するには: はい、これはマイクロ最適化です。いいえ、コードのどこでもこれを使用するつもりはありません。ただ興味があるだけです ;)

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

c++ - C++ 無効逆関数

基数 10 を別の基数 (B) の数値に変換しています。数字の順序が逆にならない void reverse 関数に問題があります。

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

bash - 係数を bash の数値に変換する

bashで因子ベクトル(すべてのレベルが一意であるとは限りません)を数値ベクトルに変換する最も効率的な方法は何ですか? 数値ベクトルの値は、それぞれが因子の一意の水準を表している限り、重要ではありません。

説明すると、これは bash でやりたいことと同等の R になります。

numeric<-seq_long(levels(factor))[factor]

すなわち:

要素

AV1019A
ABG1787
AV1019A
B77hhA
B77hhA

数値

1
2
1
3
3

どうもありがとう。

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

android - TextView の値を整数に変換するにはどうすればよいですか

私は基本的な BMI 計算機を設計しており、計算機は機能していますが、計算された回答に基づいて <> 演算子を使用して正しいステートメントを有効にするために、計算された回答を double の TextView から整数に変換する必要があります。
TextView からの回答を整数に変換するにはどうすればよいですか?