2013-11-29 2 views
0

Я пытаюсь прочитать int (32 бита) для объекта bytebuffer.Чтение int в java как двоичная последовательность с использованием ByteBuffer

Я использовал метод «Bytebuffer.allocate (4)», и я хочу взять каждые 8 ​​бит (1 байт) данного int в объект bytebuffer.

Как я могу это сделать?

(мне нужно использовать его для того, чтобы преобразовать каждый байт (8 бит), чтобы число между 0-255)

Edit: Я просто пытаюсь получить 32 бит в междунар (это для школьный проект и назначение specifcly сказали «мы будем использовать Int не как число, а как бинарная последовательность из 32 бит», и это то, что я пытаюсь сделать, но абсолютно безуспешно.

Спасибо.

+2

Помогает ли [этот вопрос] (http://stackoverflow.com/questions/2183240/java-integer-to-byte-array)? –

+0

Что вы хотите делать с битами? Integer.toBinaryString (int), например, преобразует int в двоичную строку нулей и единиц. – isnot2bad

ответ

-1

Используйте простые операции смены и маской:

byte b1 = n & 0xFf; 
byte b2 = (n >> 8) & 0xFF; 
byte b3 = (n >> 16) & 0xFF; 
byte b4 = (n >> 24) & 0xFF; 
Смежные вопросы