c# - una - random en visual basic




Generación robusta de números aleatorios (4)

Estoy buscando un RNG rentable y razonablemente robusto que no use hardware especial. Puede usar métodos matemáticos (Mersenne Twister, etc.), puede "recoger entropía" de la máquina, lo que sea. En Linux / etc tenemos un drand48() que genera 48 bits aleatorios. Me gustaría una función / clase similar para C ++ o C # que pueda generar más de 32 bits de aleatoriedad y que los bits de bajo orden sean tan aleatorios como los de orden alto.

No tiene que ser criptográficamente seguro, pero no debe usar ni basarse en el idioma C rand() o .NET System.Random .

Se agradecerá cualquier código fuente, enlaces a la fuente, etc. En su defecto, ¿qué tipo de RNG debería estar buscando?


C ++ 11 ha adoptado una robusta biblioteca de números aleatorios basada en boost.random. Puede acceder a una cantidad de motores de números aleatorios usando diferentes algoritmos para cumplir con los requisitos de calidad, velocidad o tamaño. Las implementaciones de calidad incluso proporcionarán acceso a cualquier RNG no determinista que su plataforma ofrezca a través de std::random_device .

Además, hay muchos adaptadores para producir distribuciones específicas, eliminando la necesidad de realizar dicha manipulación a mano (algo que a menudo se hace incorrectamente).

#include <random>



La Biblioteca Científica Gnu (GSL) tiene un amplio conjunto de generadores RN, arnés de prueba, etc. Si estás en Linux, probablemente ya esté disponible en tu sistema.






random