2016-03-06 3 views
-1

У меня есть массив, как:генератора случайных чисел с диапазоном в Java

byte[] a = new byte[4]; 

Random rnd; 

    rnd.nextBytes(a); 

Я хочу знать, если каждый элемент этого массива с именем a в десятичной системе находится в диапазоне 0-255 или может быть вне этого интервала?

+2

Вы можете захотеть взглянуть на определение 'byte': https://docs.oracle.com/ javase/7/docs/api/java/lang/Byte.html Минимальное значение может быть '-2^7'. Пожалуйста, попробуйте сделать немного исследований, посмотрев документы JAVA перед отправкой вопроса. – user2004685

+0

Байт может содержать только 256 возможных значений, в Java диапазон по умолчанию - от -128 до 127, но с маской '& 0xFF' вы можете сделать диапазон от 0 до 255. –

+0

@PeterLawrey Я хотел знать только f номер, который является Сгенерированный -123 могу ли я использовать это для моих вычислений GF (256) –

ответ

3

Java primitive byte - это тип данных, являющийся 8-разрядным дополняющим дополнением.

Это означает минимальное значение составляет -128 (-2^7) и максимальное значение составляет 127 (включительно) (2^7 -1)

, если вам нужно или хотите диапазон между 0 и 255 вам нужно будет исправить случайное число самостоятельно.


И кстати, случайный класс должен быть инициализирован, прежде чем сделать что-то вроде:

rnd.nextBytes(a); 
Смежные вопросы