2016-10-11 2 views
-4

У меня есть short val = 150; Как поместить это короткое число в байт [2]?Java Short to Byte Array

Я нашел несколько примеров кода, потому что другие люди задавали эти вопросы тоже, но ни один из них не работает для меня хорошо .. пожалуйста, помогите мне

+1

Вы должны опубликовать все то, что вы написали, чтобы попробовать это, и объяснить, что конкретно не работает над каждым из них. –

+0

Итак, я думаю, мы должны повторить все те примеры, которые не сработают для вас? –

ответ

0

Вы можете сделать это:

short val = 150; 
byte []array = new byte[2] 
array[0] = (byte)(val & 0xff); 
array[1] = (byte)((val >> 8) & 0xff); 

Вы помещаете в массиве [0] младший значащий байт. В массиве [1] самый старший байт.

Более подробно о значении операций, которые вы можете прочитать here

+0

Спасибо за ваш быстрый ответ, если я пытаюсь это, я получаю следующий результат: массива [0] = -106 массива [1] = 0 это не делает чувство для меня –

+0

Почему нет? В чем проблема? – granmirupa

+0

Не могли бы вы объяснить мне каждую строку кода? Я действительно не понимаю. Спасибо –