【发布时间】:2013-05-22 09:48:12
【问题描述】:
我需要在 Java 中生成随机的 4 字节长度数字。
我来了:
Random rnd = new Random();
int i = 0;
while((i=rnd.nextInt()) < 0x1000000){}
return i;
其中 0x1000000 - 是 3 字节值,根据 JLS,int 是 4 字节。
有没有更好的解决方案?
UPD:是的,“4 字节长度”数字是指带有 MSB(最高有效字节)的 4 字节数字
【问题讨论】:
-
你的意思是数字的MSB不应该是0?
-
Random#nextInt 有什么问题?引用:“所有 2^32 个可能的 int 值都是以(大约)相等的概率产生的。”
标签: java