可能なリピート質問に申し訳ありません。%
シンボルは検索可能性と一致しません。%はC#で何を意味しますか?
%
は何を意味しますか?私はこれを守ることができない。
例:
rotation = value % MathHelper.TwoPi;
は、特定のインスタンスです。
しかし、より頻繁に%
を使用するコードが見つかりました。モジュラス私はそれが呼ばれていると思うが、私は肯定的ではない。
可能なリピート質問に申し訳ありません。%
シンボルは検索可能性と一致しません。%はC#で何を意味しますか?
%
は何を意味しますか?私はこれを守ることができない。
例:
rotation = value % MathHelper.TwoPi;
は、特定のインスタンスです。
しかし、より頻繁に%
を使用するコードが見つかりました。モジュラス私はそれが呼ばれていると思うが、私は肯定的ではない。
モジュラス演算子です。それは整数の残りを返します。
int remainder = 2 % 1; // (remainder variable is assigned to 0)
int remainder2 = 3 % 2; // (remainder variable is assigned to 1)
モジュラスと残りは異なったものです。エリックLippertはそれについて非常に良い投稿をしています(http://blogs.msdn.com/b/ericlippert/archive/2011/12/05/what-s-the-difference-remainder-vs-modulus.aspx) – Nikolay
@ニコライそれは明らかに%がモジュラス演算子であり、私が答えに入れた整数の残りを計算することをMSDNで明確に述べています:http://msdn.microsoft.com/en-us/library/0w4e0fzs(v=vs.80) ).aspx なぜdownvoteですか? MSDNに記載されているものに問題がある場合は、それらと一緒に取るべきです:) –
はい、あなたは正しいです、私はそれが正準モジュラス演算子ではないことを強調したいと思いました。あなたは答えた。 – Nikolay
それはmodulus operatorです。第1のオペランドを第2のオペランドで除算した後の余りを計算する。 C#で
モジュラスではありません。それは*残りの部分です。 2つは同義ではありません。 –
ありがとう、私は違いがあることを知らなかった。 – PVitt
それは基本的に
の残りの部分である、modulus
手段例:
int remainder = 10 % 3 //remainder is 1
モジュラスと残余は異なるものです。エリックLippertはそれについて非常に良い投稿をしています(http://blogs.msdn.com/b/ericlippert/archive/2011/12/05/what-s-the-difference-remainder-vs-modulus.aspx) – Nikolay
その記事を見ると、「%演算子は正規のモジュラス演算子ではなく、残りの演算子です」と言われていますが、これはモジュラスという名前です。だからそれはモジュラス演算子と呼ばれますが、それは実際には残りの演算子です – mattytommo
はい、あなたは正しいです、私はカノニカルモジュラス演算子ではないことを強調したいと思います。あなたは答えた。 – Nikolay
モジュラスと残りは別のものです。エリックLippertはそれについて非常に良い投稿をしています(http://blogs.msdn.com/b/ericlippert/archive/2011/12/05/what-s-the-difference-remainder-vs-modulus.aspx) – Nikolay
MSDN参照:%演算子は、最初のオペランドを除算した余りを計算
をその2番目の秒で表示します。すべての数値型にはあらかじめ定義された剰余演算子があります。
のは
z * y = x, because the "/" operator rounds down.
だから私たちは私たちの式に残りを追加しなければならないという保証はありません
x/y = z,
x, y, z being integers.
としましょう:
z * y = x + r.
z * y = x + r
z * (-y) = - (z * y) = -(x + r) = -x - r
これがあることを意味"%"演算子の結果は次のようになります。負の値になります。これは、 "%"または剰余演算子がモジュロ関係と異なることを意味します。これは、結果が正準であることが保証されていないためです。
[Eric Lippert](http://blogs.msdn.com/b/ericlippert/archive/2011/12/05/what-s-the-difference-remainder-vs-modulus.aspx)によると、ほとんど現在の答えの(微妙に)間違っている - それはモジュラスではなく、残りの部分です。 –
有益な記事、人々へのすべてのリンクありがとう。 – SimpleRookie
['%'演算子は何を意味しますか?](http://stackoverflow.com/questions/3264524/what-does-the-operator-mean) –