2017-03-03 2 views
-5

次のコードを実行した後に、この出力が得られるのはなぜですか?0 1 2 3 0 1 2 3 0 1?モジュラス演算は、ある数値を別の数値で除算した後に剰余を見つけませんか?モジュラス演算はC++でどのように機能しますか?

#include <iostream> 
using namespace std; 
int main() 
{ 
for (int i=0; i< 10; ++i) 
cout << i % 4 << " "; 
} 
+3

で詳細を読むことができます。 – bejado

+3

** - 1 **尋ねる前にどのような研究をしましたか? –

+0

グーグル..... – Jack

答えて

1

はい、モジュラスの仕組みです。出力は正しいです。

0 % 4 = 0 
1 % 4 = 1 
2 % 4 = 2 
3 % 4 = 3 
4 % 4 = 0 
5 % 4 = 1 
... 

可能な限り4つを削除します。残っているものはすべてモジュラスです。

1

Modulus演算子は、の残りの部分をの2番目の数値で除算して返します。

0 % 4 = 0 
1 % 4 = 1 
2 % 4 = 2 
3 % 4 = 3 
4 % 4 = 0 
5 % 4 = 1 
6 % 4 = 2 
7 % 4 = 3 
8 % 4 = 0 
9 % 4 = 1 
1

です。
0/4 = 0剰余0
1/4 = 0剰余1
など。

4

答えは正しいです。 '%'は「リマインダ」を意味します。 %演算子は、剰余演算子です。 A % Bオペレータ実際には「Iは、整数演算を使用してBでAを割った場合、余りはどうだろうか?」という質問に答える

配当=商*除数+余り負の数について

0 % 4 = 0 
1 % 4 = 1 
2 % 4 = 2 
3 % 4 = 3 
4 % 4 = 0 
5 % 4 = 1 
..... 
etc.. 

剰余演算子で...

1 % (-4) = 1 
(-2) % 4 = -2 
(-3) % (-4) = -3 

、結果の符号が同じです配当

の印として、あなたははい、それは弾性率がどのように動作するかだWhat's the difference between “mod” and “remainder”?

関連する問題