#java
#java
Вопрос:
Мне нужно прочитать массив байтов из 16 бит как короткое число без знака, а Java не поддерживает короткий тип без знака.
Итак, как я могу это сделать?? Пожалуйста, помогите!!
Комментарии:
1. Массив байтов из 16 бит? Значит, это массив длиной 2?
2. Я думаю, вы имеете в виду конвертировать, а не читать, верно? Итак, преобразовать два байта в одно целое значение? Хитрость в том, что вам нужно будет сохранить его как an
int
, а не ashort
.3.
char
Тип данных по сути является unsignedshort
. Но наиболее распространенным методом является использованиеint
.4. @glowcoder: короткие строки — это два символа
5. Короткие строки @mkb — это 2 байта, символы — два байта. Прочитайте об этом на download.oracle.com/javase/tutorial/java/nutsandbolts /…
Ответ №1:
Предполагая, что оно доступно в виде двоичных данных из источника, отличного от Java, которые вы должны прочитать и работать со значениями в Java: прочитайте его как (подписанный) short
, а затем преобразуйте его int
следующим образом:
int intVal = shortVal >= 0 ? shortVal : 0x10000 shortVal
Вы не можете представить все значения unsigned short в short , но в int вы можете.
Ответ №2:
Я не знаю, нужно ли вам использовать unsigned short , но в случае, если вы этого не сделаете, вы всегда можете использовать char для хранения unsigned short . Взгляните на эту статью, которая дает простой обзор
Ответ №3:
Вы можете взглянуть на