randomSeed()

Last revision:2025/05/24

名称

randomSeed()

説明

randomSeed()は疑似乱数生成器を初期化し、疑似乱数系列の任意の地点から開始させる。この系列はとても長く、乱雑で、いつも同じである。

以降のスケッチの実行において、random()によって生成される値列が異なることが重要なのであれば、何も接続していないピンをanalogRead()で読んだ値のような、とても乱雑な値をrandomSeed()に与えて、乱数生成器を初期化すること。

逆に、同じ疑似乱数系列を利用することが有効な場合もある。これは、乱数系列を利用する前に、randomSeed()を同一の値を使って呼び出すことで実現できる。

書式

乱数生成期の疑似乱数系列を初期化するには、以下の関数を使う。

randomSeed(seed)

C言語シグネチャ(avr)

void randomSeed(unsigned long seed);

引数

seed疑似乱数系列を初期化するための種(0以外の数値)。データ型: unsigned long

戻り値

なし。

コード例

以下のコードは、疑似乱数を生成し、生成した数値をシリアルポートに送信する。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
long randNumber;

void setup() {
  Serial.begin(9600);
  randomSeed(analogRead(0));
}

void loop() {
  randNumber = random(300);
  Serial.println(randNumber);
  delay(50);
}

注意

引数のseedを0にして、@randomSeed()`を呼び出しても、何も起こらない。

参照

オリジナルのページ

https://docs.arduino.cc/language-reference/en/functions/random-numbers/randomSeed/

実装の解析

まだ解析していません。

最終更新日

July 12, 2026

inserted by FC2 system