Java中带范围的随机数生成器

Java中带范围的随机数生成器,java,random,Java,Random,我有这样一个数组: byte[] a = new byte[4]; Random rnd; rnd.nextBytes(a); 我想知道十进制中名为a的数组中的每个元素是否在0-255范围内,或者是否可以超出此间隔?Java是一种数据类型,是一个8位有符号2的补码整数 这意味着最小值为-128(-2^7),而最大值为127(包括)(2^7-1) 如果您需要或想要一个介于0和255之间的范围,您需要自己更正随机数 顺便说一句,在执行以下操作之前,必须初始化Random类: rnd.

我有这样一个数组:

byte[] a = new byte[4];

Random rnd;

    rnd.nextBytes(a);
我想知道十进制中名为
a
的数组中的每个元素是否在
0-255
范围内,或者是否可以超出此间隔?

Java是一种数据类型,是一个8位有符号2的补码整数

这意味着最小值为-128(-2^7),而最大值为127(包括)(2^7-1)

如果您需要或想要一个介于0和255之间的范围,您需要自己更正随机数


顺便说一句,在执行以下操作之前,必须初始化Random类:

rnd.nextBytes(a);

您可能需要查看
字节的定义:最小值可以是
-2^7
。在发布问题之前,请尝试通过查看JAVA文档进行一些研究。一个字节只能有256个可能的值,在Java中,默认范围是-128到127,但是使用掩码
&0xFF
可以将范围设置为0到255。@PeterLawrey我只想知道如果生成的数字是-123,我可以将其用于GF(256)的计算吗?我可以将其设置为无符号字节值。