How to efficiently convert a few bytes into an integer between a range?

后端 未结 4 2124
离开以前
离开以前 2021-01-19 17:45

I\'m writing something that reads bytes (just a List) from a remote random number generation source that is extremely slow. For that and my personal

4条回答
  •  独厮守ぢ
    2021-01-19 18:16

    range 1 to r
    256^a >= r
    
    first find 'a' 
    
    get 'a' number of bytes into array A[]
    
    num=0
    for i=0 to len(A)-1
        num+=(A[i]^(8*i))
    next
    
    random number = num mod range
    

提交回复
热议问题