Генерация случайного числа с плавающей запятой в C++
Случайные числа с плавающей запятой можно генерировать двумя способами:
- Использование ранд()
- Использование равномерного реального распределения
1. Использование ранда()
Мы можем генерировать случайные целые числа с помощью функций rand() и srand(). Существуют некоторые ограничения на использование srand() и rand(). Чтобы узнать больше о функциях srand() и rand(), обратитесь к srand() и rand() в C++.
Подход: мы можем изменить подход, который мы использовали для поиска случайного целого числа здесь, чтобы найти случайное число с плавающей запятой,
Пример:
Скажем, кто-то хочет сгенерировать дробную часть только тогда,
Пример:
2. Сгенерируйте случайные числа с плавающей запятой, используя метод «равномерного действительного распределения».
C++ представил класс uniform_real_distribution в библиотеке random, функция-член которой выдает случайные действительные числа или непрерывные значения из заданного входного диапазона с равномерной вероятностью.
Пример:
Недостаток использования std:uniform_real_distribution:
Мы не можем генерировать какую-либо случайную последовательность всякий раз, когда мы выполняем этот код, это приводит нас к одинаковым последовательностям каждый раз, поэтому этот код можно применять для нахождения вероятности или частоты в определенном диапазоне в большом количестве экспериментов.
Пример:
Генерация случайных чисел в диапазоне
Предположим, есть два числа a и b , мы хотим сгенерировать между ними случайное число [a, b)
1. Генерация случайного целого числа в диапазоне
Пример:
Теперь мы можем использовать эту же концепцию для генерации случайного числа с плавающей запятой в диапазоне
2. Генерация случайных чисел с плавающей запятой в диапазоне
Пример:
Заворачивать:
Соберем все в один пример.
Пример: