Введение в генератор случайных чисел в C

Чтобы генерировать ожидаемый результат, программа должна нуждаться в правильном вводе. Обычно входные данные предоставляются пользователем, но иногда программе приходится выбирать входные данные самостоятельно. Например, чтобы получить текущую временную метку, приложение использует встроенную функцию для ее извлечения из системы. Точно так же иногда нам нужно, чтобы приложение генерировало любое случайное число, которое можно было бы обработать дальше, чтобы получить предполагаемый результат. Хотя это выглядит случайным для пользователя, язык программирования предлагает нам механизм для определения диапазона случайного числа. В этой статье мы увидим программную реализацию генерации случайных чисел с использованием языка программирования C. Мы сосредоточимся на встроенной функции, предоставляемой C, чтобы генерировать случайное число.

Что такое функции генератора случайных чисел в C?

Существует несколько подходов для генерации случайного числа с использованием любого языка программирования. Можно определить функцию по-своему, чтобы оценить или сгенерировать случайное число, пока есть встроенные функции на любом языке программирования, который генерирует случайное число. В языке программирования C у нас есть функция rand, которая помогает генерировать случайные числа. Эта функция предопределена в C и может быть реализована в программе с помощью заголовочного файла stdlib.h. Разработчик должен упомянуть заголовочный файл stdlib.h в начале программы, чтобы использовать функцию rand. Каждый раз, когда вызывается эта функция, она генерирует совершенно случайное число. На основе требования можно сгенерировать число, принадлежащее целому, плавающему или двойному типу данных. Его можно просто использовать в программе с помощью функции rand ().

Хотя предполагается, что функция rand генерирует случайное значение, она застревает, чтобы генерировать одно и то же значение каждый раз, когда выполняется программа, и это может произойти из-за постоянного начального значения. Если требуется, чтобы новое случайное число генерировалось при каждом запуске программы, мы должны убедиться, что начальное число должно меняться при каждом запуске программы. Время - это то, что постоянно меняется, и его также можно рассматривать как то, что может помочь каждый раз получать случайное начальное значение и использовать время в программе, которую мы должны использовать в заголовочном файле time.h.

Целые поколения

Функция rand () используется для генерации случайного числа. Каждый раз, когда он вызывается, он дает случайное число. Если разработчики добавят некоторую логику с ним, они могут генерировать случайное число в пределах определенного диапазона, и если диапазон не определен явно, он вернет полностью случайное целочисленное значение. Функция rand () в C может использоваться для генерации случайного числа, и сгенерированное число полностью удаляет семя. Семя - это значение, которое используется функцией rand для генерации случайного значения. Если начальное значение продолжает изменяться, сгенерированное число будет обновляться при каждой компиляции программы, иначе оно будет возвращать то же значение каждый раз, когда было сгенерировано, когда программа была выполнена первой. Для генерации ниже приводится программа для генерации случайного целого числа.

программа

#include
#include
#include
int main()
(
int rand_num;
srand(time(0));
printf("The randomly generated number is”);
rand_num = rand();
printf("%d\n", rand_num);
)
)

Выход:

Случайно сгенерированный номер 1804289383.

В этой программе мы использовали заголовочный файл time.h, который используется для использования системного времени при генерации случайного числа. Поскольку время меняется каждый раз, значение seed будет меняться при каждом запуске программы, что помогает нам генерировать случайное число при каждом запуске программы. Rand_num - это переменная, которая используется для хранения случайно сгенерированного числа. Функция rand () генерирует случайное число, которое присваивается переменной rand_num. Поскольку мы не определили возвращаемое значение случайного числа явно, оно даст нам целое число.

Генерация чисел с плавающей точкой

Подход для генерации случайного значения с плавающей запятой аналогичен подходу для генерации целого числа. Единственная разница в том, что нам нужно будет явно определить, что значение, которое мы ожидаем от функции rand, должно быть float. Значение с плавающей запятой обычно занимает больше места в хранилище по сравнению с коротким int. Программа, которую мы написали выше для генерации случайных целых чисел, будет такой же, как мы собираемся написать здесь. Единственным отличием будет явное определение типа данных. Как и в предыдущей программе, здесь мы использовали заголовочный файл time.h, чтобы он мог вносить вклад в генерацию случайных чисел с плавающей точкой. Если этот заголовочный файл не включен в программу, он будет давать одно и то же значение каждый раз, когда программа. Выполнен. Ниже приведена программа для генерации случайных значений с плавающей точкой.

программа

#include
#include
#include
int main()
(
float rand_num;
srand(time(0));
printf("The randomly generated float number is ”);
rand_num = (float) rand();
printf("%f", rand_num);
)
)

Выход:

В этой программе мы использовали (float), который используется для явного определения того, что значение, возвращаемое функцией rand, должно быть float по своей природе. Поскольку переменная ran_num также определена с типом данных с плавающей запятой, она сможет обрабатывать число с плавающей запятой, которое обычно имеет шесть цифр после десятичной точки при генерации на языке программирования C. При печати значения с плавающей запятой мы использовали% f, так как об этом нужно заботиться при печати значения с плавающей запятой.

Вывод

Чтобы повысить случайность числа, можно использовать математические выражения. Кроме того, используя логику, можно также определить диапазон чисел, в котором они хотят, чтобы число генерировалось случайным образом. Функция генерирования случайного каучука предоставляется всеми языками программирования и используется в реальном приложении в зависимости от требований. Чтобы обеспечить сильную случайность числа, мы должны убедиться, что функция seed, которая используется для генерации случайного значения, должна быть очень случайной и новой при каждом запуске программы.

Рекомендуемые статьи

Это руководство по генератору случайных чисел в C. Здесь мы обсуждаем функцию, целые числа генерации и генерацию чисел с плавающей точкой в ​​C. Вы также можете просмотреть другие наши предлагаемые статьи, чтобы узнать больше -

  1. Генератор случайных чисел в R
  2. Что такое шаблон класса в C ++?
  3. Алгоритм случайного леса
  4. Фреймворки на Java
  5. Что такое генератор случайных чисел в Python?
  6. Генератор случайных чисел в C ++ (Примеры с шагами)
  7. Генератор случайных чисел в Matlab
  8. Генератор случайных чисел в C #
  9. Генератор случайных чисел в JavaScript
  10. Генератор случайных чисел в PHP