Ответ 1
Вы можете создать псевдослучайное число, используя stdlib.h. Просто включите stdlib, затем вызовите
double random_number = rand() / (double)RAND_MAX;
Как создать случайное число от 0 до 1?
Вы можете создать псевдослучайное число, используя stdlib.h. Просто включите stdlib, затем вызовите
double random_number = rand() / (double)RAND_MAX;
Предполагая, что OP хочет либо 0, либо 1:
srand(time(NULL));
foo = rand() & 1;
Редактировать, вдохновленный комментарием:
У старых реализаций rand()
был недостаток - биты более низкого порядка имели гораздо более короткие периоды, чем бит более высокого порядка, поэтому использование младшего бита для таких реализаций не очень хорошо.
Если вы знаете, что ваша реализация rand()
страдает от этого недостатка, используйте бит высокого порядка, например:
foo = rand() >> (sizeof(int)*8-1)
предполагая регулярные 8-битовые байтовые архитектуры
man 3 drand48 - это именно то, что вы просили.
Функции drand48() и erand48() возвращают неотрицательные значения с плавающей точкой с двойной точностью, равномерно распределенные по интервалу [0.0, 1.0].
Они найдены в #include <stdlib.h>
на платформах UNIX. Однако они не в ANSI C, поэтому (например) вы не найдете их в Windows, если вы не принесли свою собственную реализацию (например, LibGW32C).