Arduino 日本語リファレンス



答 = 値1 % 値2;

【パラメータ】

値1 変数または定数
値2 変数または定数

【例】

x = 7 % 5;   // xは2に
x = 9 % 5;   // xは4に
x = 5 % 5;   // xは0に
x = 4 % 5;   // xは4に

剰余演算子は間欠的なイベントを実行したいときや、配列の要素を順繰りに使いたいときなどに有効です。

次の例では、ループが10回まわるごとに1回、センサをチェックするという処理を剰余で表現しています。

void loop() {
  i++;
  if ((i % 10) == 0){
    x = analogRead(sensPin);
  }
}

この例では、剰余を使って、配列を循環的に利用しています。
int senVal[5];  // センサのデータを格納する配列
int i, j;       // カウンタ
long average;   // 平均値

void loop(){
  // 読み取ったデータを、配列上の一番古いデータに上書き
  sensVal[(i++) % 5] = analogRead(sensPin);
  average = 0;
  for (j=0; j<5; j++){
    average += sensVal[j];   // 合計していく
  }
  average = average / 5;  // データの数で割って平均を求める


【TIPS】

剰余演算子は浮動小数点(float)の値に対しては機能しません。



[目次へ戻る]

Creative Commons Attribution-ShareAlike 3.0 License.
このドキュメントはArduino Teamにより執筆され、Takumi Funadaが翻訳し、一部加筆修正したものです
ご意見はtf at musashinodenpa.comまでお送りください [Arduino wiki]