簡體   English   中英

javascript中來自crypto.randomBytes()的浮點數

[英]floating point number from crypto.randomBytes() in javascript

如何將從crypto.randomBytes返回的字節數組轉換為浮點數? 我正在為Math.random寫一個小替代品()

假設你有一系列隨機選擇的字節,均勻分布在[0,256]之上。 取七個字節,比如0 ,a 1 ,... a 6 計算(((((((( 6 %32)/ 32 + a 5 )/ 256 + a 4 )/ 256 + a 3 )/ 256 + a 2 )/ 256 + a 1 )/ 256 + a 0 )/ 256。

說明: 6 %32表示6模32的殘差。這需要5位6 然后除以32將這些位“移位”到小數點的右側,添加8個新位,除以256“移位”右8位,依此類推,直到我們有53位。

這在[0,1]中提供了2 53個可能的結果。 有可能提供更多,因為浮點分辨率越精細,因為值接近於零,但是存在均勻性和其他問題的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM