Namespaces
Variants
Views
Actions

RAND_MAX

From cppreference.com
< c‎ | numeric‎ | random
Defined in header <stdlib.h>
#define RAND_MAX /*implementation defined*/

Expands to an integer constant expression equal to the maximum value returned by the function rand(). This value is implementation dependent. It's guaranteed that this value is at least 32767.

[edit] Example

#include <limits.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
int main(void)
{
    srand(time(NULL)); // use current time as seed for random generator
    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);
}

Possible output:

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

[edit] References

  • C17 standard (ISO/IEC 9899:2018):
  • 7.22/3 General utilities <stdlib.h> (p: 248)
  • C11 standard (ISO/IEC 9899:2011):
  • 7.22/3 General utilities <stdlib.h> (p: 340)
  • C99 standard (ISO/IEC 9899:1999):
  • 7.20/3 General utilities <stdlib.h> (p: 306)
  • C89/C90 standard (ISO/IEC 9899:1990):
  • 4.10 GENERAL UTILITIES <stdlib.h>

[edit] See also

generates a pseudo-random number
(function) [edit]
seeds pseudo-random number generator
(function) [edit]
C++ documentation for RAND_MAX