Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Что делает эта строка кода, зачем тут значение 256?

ФермаКактусов Высший разум (189412), закрыт 2 недели назад
     int k = inputStream.read() + inputStream.read() * 256 + inputStream.read() * 256 * 256 + inputStream.read() * 256 * 256 * 256; 
Лучший ответ
Андрей Панарин Искусственный Интеллект (234502) 2 недели назад
Метод read у InputStream читает всего один байт, а не четыре байта.
Можно было бы прочесть int при помощи обертки типа DataInputStream, но она располагает байты в другом порядке:Для корректного взаимодействия двух систем необходимо, чтобы байты числа читались так же, как пишутся. Иначе читающая сторона будет получать неверные числа.
Остальные ответы
Татьяна Шеховцова Высший разум (435366) 2 недели назад
Сумму считает
А что там за числа - сам смотри, по смыслу программы и вводимых данных
ФермаКактусовВысший разум (189412) 2 недели назад
а это не может быть в java случайно как увеличение массива строки?
Татьяна Шеховцова Высший разум (435366) ФермаКактусов, тут же ж явное число будет в результате
Лайт Ягами Искусственный Интеллект (288814) 2 недели назад
Собирает из 4 байт в порядке little endian одну целочисленную 32-битную переменную
ФермаКактусовВысший разум (189412) 2 недели назад
для чего такой может понадобится такой трюк? из за слабого железа такая оптимизация?
Похожие вопросы