gpt4 book ai didi

javascript - 来自 javascript 中 crypto.randomBytes() 的 float

转载 作者:行者123 更新时间:2023-11-29 10:18:44 29 4
gpt4 key购买 nike

如何将从 crypto.randomBytes 返回的字节数组转换为 float ?我正在为 Math.random() 编写一个小的替代品

最佳答案

假设您有一系列随机选择的字节,均匀分布在 [0, 256) 上。取其中的七个字节,比如 a0、a1、... a6。计算 ((((((a6 % 32)/32 + a5)/256 + a4)/256 + a 3)/256 + a2)/256 + a1)/256 + a0)/256 .

解释:a6 % 32 表示 a6 模 32 的余数。这需要 a6 的五位。然后除以 32 将这些位“移”到小数点的右侧,添加八个新位,除以 256 将“移”八位,依此类推,直到我们有 53 位。

这在 [0, 1) 中提供了 253 个可能的结果。可以提供更多,因为随着值越接近零,浮点分辨率越精细,但随之而来的是一致性问题和其他问题。

关于javascript - 来自 javascript 中 crypto.randomBytes() 的 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15753019/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com