Namespaces
Variants

RAND_MAX

From cppreference.net
定義先ヘッダ <stdlib.h>
#define RAND_MAX /*implementation defined*/

rand() 関数が返す最大値と等しい整数定数式に展開されます。この値は実装依存です。この値が少なくとも 32767 であることが保証されています。

#include <limits.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
    srand(time(NULL)); // 乱数生成器のシードとして現在時刻を使用
    printf("RAND_MAX: %i\n", RAND_MAX);
    printf("INT_MAX: %i\n", INT_MAX);
    printf("Random value on [0,1]: %f\n", (double)rand() / RAND_MAX);
}

出力例:

RAND_MAX: 2147483647
INT_MAX: 2147483647
Random value on [0,1]: 0.362509

参考文献

  • C17規格 (ISO/IEC 9899:2018):
  • 7.22/3 一般ユーティリティ <stdlib.h> (p: 248)
  • C11規格 (ISO/IEC 9899:2011):
  • 7.22/3 一般ユーティリティ <stdlib.h> (p: 340)
  • C99規格 (ISO/IEC 9899:1999):
  • 7.20/3 一般ユーティリティ <stdlib.h> (p: 306)
  • C89/C90標準 (ISO/IEC 9899:1990):
  • 4.10 一般ユーティリティ <stdlib.h>

関連項目

擬似乱数を生成する
(関数)
擬似乱数生成器を初期化する
(関数)
C++ documentation for RAND_MAX