【发布时间】:2013-08-02 19:38:07
【问题描述】:
我想在 ruby 中生成一个 64 位整数。我知道在 Java 中你很长,但我不确定你会如何在 Ruby 中做到这一点。另外,64位数字中有多少个字符?这是我所说的一个例子...... 123456789999。
@num = Random.rand(9000) + Random.rand(9000) + Random.rand(9000)
但我认为这是非常低效的,必须有一种更简单、更简洁的方法来做到这一点。
谢谢!
【问题讨论】:
-
您通常只想在程序开始时注入一次种子。
-
所以你想生成一个介于 -2^64 和 2^64 - 1 之间的随机数?或者你想生成一个 X 位数的随机数。
-
2**64 我认为可行。
-
随机数通常有上下文。这是为了什么?例如,如果您想生成密钥或秘密,
SecureRandom.random_number( 2**64 )将是合适的。 -
"64 位数字中有多少个字符?"这是一个有问题的问题。字符数与位宽没有任何特定的相关性。另外,它取决于基数。您可以将数字 15 作为 存储为 64 位整数,然后前 60 位将是
0,后 4 位将是1,但以十进制表示只有两个字符。以十六进制表示,只有一个字符 (F)。