問題タブ [unary-operator]

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 に答える
1345 参照

c# - 単項記号の照合と正規表現による数学の解析

助けが必要な最後の正規表現の問題。私がやろうとしているのは、正規表現に単項記号を認識させながら、数式を解析できるようにすることです。以下を使用して整数を解析しています。

次の 2 つのシナリオでうまく機能します。

正規表現は、-5 と +5 の両方を整数として正しく識別します。私の問題は、次のようなシナリオがある場合です。

ただし、これは正しく一致します。

7-5 シナリオで Regex が行っているのは、7 と -5 の 2 つの整数を識別することです。実際には、整数 (7)、マイナス記号 (-)、および別の整数 (5) を識別できるようにする必要があります。これを行うには、どの正規表現パターンが必要ですか?

前もって感謝します。ちなみに、これは .NET Regex です。

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

c - Cの単項プラス(+)演算子の目的は何ですか?

Cでは、次のように書くことは合法です。

ただし、私が知る限り、の単項プラス(++4はノーオペレーションです。それは...ですか?

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

c++ - 単一ステートメント内の複数のインクリメント演算子

重複の可能性:
未定義の動作とシーケンス ポイント

次のステートメントの動作を説明してください

どのように計算されますか?

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

c++ - 単項演算の結果がこの出力になる方法について混乱しています

重複の可能性:
単一ステートメント内の複数のインクリメント演算子
未定義の動作とシーケンス ポイント

このコード行がそのような出力を生成する理由を誰かが説明できますか? コード (i&j の両方をゼロに初期化した後):

出力:

i++ は最初に評価してから 1 ずつ増やすことを意味し、++i は 1 ずつ増やしてから評価することを意味します。しかし、シーケンスされた cout ステートメントでの複数の評価がどのような動作であるかはわかりません。

ありがとう!

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

java - 論理補数演算子?

論理演算子「!」を使用することは可能ですか?trueまたはfalseの値を保持するオブジェクトで?特にこのようなオブジェクトのために?

次に、このように使用します

それは可能ですか?もしそうなら、そのドキュメントと他のいくつかの例へのリンクを私に提供してください、私はこれが同時に面白いと思います

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

c# - 単項: c# での単項の動作が c/c++ によって異なる理由

重複の可能性:
未定義、未指定、および実装定義の動作
未定義の動作とシーケンス ポイント
C、C++、Java、および C# におけるインクリメント演算子の前後の動作

私はこのコードスニペットを持っています:

そして、c/c++でコンパイルしてテストすると、次のようになります。

しかし、C#経由で取得します

なぜ?


ILの一部は次のとおりです。

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

f# - F#に単項プラス演算子があるのはなぜですか?

一部の言語では、文字列を数値に強制する(Javascriptなど)、少数の型を数値にキャストするint(ほとんどのCベースの言語など)、または演算子をオーバーロードするときに使用するなど、単項プラス演算子を暗黙の変換に使用します。

単項プラスは主にこのようなハックの目的で使用され、F#は自動拡大変換を実行しないため、F#に単項プラスが含まれていることに驚きました。

私の驚きに追加されるのは、Haskellに単項プラス演算子がないことです。F#のデザインはHaskellの影響を受けていたので、Haskellが明らかに必要としなかったのに、F#が単項プラスを必要とすると決定された理由に興味があります。

F#での単項プラスの信頼できる使用例を挙げてください。できないのなら、なぜそれが言語に含まれているのですか?

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

c - C: 符号なしオペランドでの単項マイナス演算子の動作

符号なしオペランドを使用した単項マイナス演算子の動作を完全に定義している C 標準の関連部分が見つからないようです。

2003 C++ 標準 (はい、C++ です。数行はご容赦ください) は 5.3.1c7 で次のように述べています。The negative of an unsigned quantity is computed by subtracting its value from 2^n, where n is the number of bits in the promoted operand.

ただし、1999 C 標準には、そのような明示的なステートメントは含まれておらず、6.5.3.3c1,3 でも 6.5c4 でも単項の動作を明確に定義していません。後者ではSome operators (the unary operator ~, and the binary operators <<, >>, &, ^, and |, ...) ... return values that depend on the internal representations of integers, and have implementation-defined and undefined aspects for signed types.)、単項マイナスを除外し、物事が漠然としているように見えます。

この以前の質問は、K&R ANSI C ブックのセクション A.7.4.5 を参照していますThe negative of an unsigned quantity is computed by subtracting the promoted value from the largest value of the promoted type and adding one

本からの上記の引用に相当する 1999 C 標準は何でしょうか?

6.2.5c9 言います:A computation involving unsigned operands can never overflow, because a result that cannot be represented by the resulting unsigned integer type is reduced modulo the number that is one greater than the largest value that can be represented by the resulting type.

あれですか?それとも、私が見逃しているものがありますか?

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

javascript - + javascriptでの式の前の演算子:それは何をしますか?

私はunderscore.jsライブラリを熟読していましたが、これまでに出会ったことのないものを見つけました。

その+オペレーターはそこで何をしていますか?コンテキストとして、ファイルのその部分への直接リンクを次に示します。

0 投票する
3 に答える
2259 参照

c - 単項 '*' の型引数が無効です (int がありますか?

このような他の質問を読みましたが、どれも機能していないようです...私のコードは次のとおりです。

エラーは次のとおりです。

何をすべきか?ところでPIは定義されています