サーチ…


構文

  • random(max)// 0(含む)からmax(これを含まない)までの(長い)擬似乱数を返します。

  • random(min、max)//最小値と最小値の間の(長い)擬似乱数を返します。

  • randomSeed(seed)//擬似乱数ジェネレータを初期化し、シーケンス内の指定された点から開始させます。

パラメーター

パラメータ詳細
random()関数によって生成される可能な最小値(両端を含む)です。
最大 random()関数によって生成される可能な最大値(排他的)。
シード random()関数をシャッフルするために使用されるシード。

備考

randomSeed()が固定値(例えばrandomSeed(5) )で呼び出された場合、スケッチによって生成される乱数のシーケンスは、実行されるたびに繰り返されます。ほとんどの場合、ランダムなシードが優先されます。これは、未接続のアナログピンを読み取ることで取得できます。

乱数を生成する

random()関数を使って擬似乱数を生成することができます:

void setup() {
    Serial.begin(9600);
}

void loop() {
    long randomNumber = random(500);  // Generate a random number between 0 and 499
    Serial.println(randomNumber);

    randomNumber = random(100, 1000); // Generate a random number between 100 and 999
    Serial.println(randomNumber);

    delay(100);
}

種を設定する

random()によって生成された一連の数値が異なることが重要な場合は、 randomSeed()シードを指定することをお勧めします。

void setup() {
    Serial.begin(9600);
    
    // If analog pin 0 is left unconnected, analogRead(0) will produce a
    // different random number each time the sketch is run.
    randomSeed(analogRead(0));
}

void loop() {
    long randomNumber = random(500); // Generate a random number between 0 and 499
    Serial.println(randomNumber);

    delay(100);
}


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow