Skip to content

文章

代码:加权随机分布

2010年10月6日 • 1 分钟阅读

代码:加权随机分布

这很巧妙;几年前我本可以用到这个。我把它发布在这里以便保存。注意我没有使用 random 类。random 类并不是真正的随机。它是基于时间的。时间是可预测的。

RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider();

byte[] result = new byte[8];
rng.GetBytes(result);
double rand = (double)BitConverter.ToUInt64(result, 0) / ulong.MaxValue;

//40 percent chance of being selected.
if (rand > 0.40d )
{
 ...
}

作者:Chuck Conway 是一位 AI 工程师,拥有近 30 年的软件工程经验。他构建实用的 AI 系统——内容管道、基础设施代理和解决实际问题的工具——并分享他沿途的学习成果。在社交媒体上与他联系:X (@chuckconway) 或访问他的 YouTubeSubStack

↑ 返回顶部

你可能也喜欢