Преобразовать 4 байта в intJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Преобразовать 4 байта в int

Сообщение Anonymous »

Я читаю двоичный файл следующим образом:

Код: Выделить всё

InputStream in = new FileInputStream( file );
byte[] buffer = new byte[1024];
while( ( in.read(buffer ) > -1 ) {

int a = // ???
}
Я хочу прочитать до 4 байтов и создать из них целочисленное значение, но я не знаю, как это сделать.

Я чувствую, что мне нужно захватить 4 байта за раз и выполнить одну «байтовую» операцию (например, >> > & FF и тому подобное), чтобы создать новый int

Какова идиома для этого?

РЕДАКТИРОВАТЬ

Ой, это оказалось немного сложнее (объяснять)

Я пытаюсь прочитать файл (может быть ascii, двоичный, это не имеет значения) и извлечь целые числа, которые он может иметь.

Например, предположим, что двоичное содержимое (в базе 2):

Код: Выделить всё

00000000 00000000 00000000 00000001
00000000 00000000 00000000 00000010
Целочисленное представление должно быть 1 , 2, верно? :-/1 для первых 32 бит и 2 для остальных 32 бит.

Код: Выделить всё

11111111 11111111 11111111 11111111
Будет -1

и

Код: Выделить всё

01111111 11111111 11111111 11111111
Будет Integer.MAX_VALUE ( 2147483647 )

Подробнее здесь: https://stackoverflow.com/questions/238 ... tes-to-int
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»