ByteBuffer byteBuffer получен через соединение TCP/IP, отображается в эмуляторе NetBeans и содержит 0x2b, 0x69, 0x80 и 0x3f в байтах 4, 5, 6 и 7 для этого разрыва. Если endianess ошибочно, я ожидаю либо неправильное значение float, либо, возможно, какое-то число числового исключения, но не всегда 0.0 для различных наборов из 4 байтов. То же самое происходит для ряда других поплавков, считанных из этого ByteBuffer, по индексу 8, 12 и т. Д. Почему всегда всегда 0.0?Почему ByteBuffer.getFloat возвращает 0.0?
float f = byteBuffer.getFloat(4);
Я подозреваю, что 'ByteBuffer' не содержит то, что вы думаете, что он делает. Не могли бы вы называть 'byteBuffer.get (i)' for 'i = 4,5,6,7' непосредственно перед вызовом' getFloat (4) 'и распечатывать четыре значения? – NPE
Черт! Я делаю 'ByteBuffer byteBuffer = ByteBuffer.allocate (status.length)', и это 'status', который содержит данные. Я уверен, что '.allocate', вероятно, просто создает byteBuffer, и теперь мне нужно скопировать статус byte [] в byteBuffer. – jacknad