傳回一個 0 ~ RAND_MAX 的整數, 以 nano second 為 seed, 需要 librt (-lrt)
#include <stdlib.h> #include <time.h> long gen_rand(void) { struct timespec tv; clock_gettime(CLOCK_MONOTONIC, &tv); srandom( tv.tv_nsec ); return random(); }
傳回一個 0 ~ 1 的小數
double rand(void) { return ( (double) gen_rand() / (double) RAND_MAX ); }
Last updated 2 years ago