2014-09-26 2 views
-2

У меня есть массив байтов с длиной 4Java-байт [], чтобы плавать преобразования градационных значений

byte[] h = new byte[4]; 
h[0] = 0x13; 
h[1]=(byte)0xBF; 
h[2]=(byte)0x71; 
h[3]=(byte)0xA8; 

который представляет собой значение широты (фактическое значение 33,1313576) я уверен, преобразование его в обращении с следующим утверждением:

ByteBuffer.wrap(h).getFloat() 

выход 4.8327252E-27

+3

Покажите нам, как вы попали из '33.1313576' в' byte [] '. –

+0

мы получаем его через логику создания конечной точки, неизвестно. – babravahan

+2

Итак, как вы знаете, что это означает представлять эту широту? –

ответ

2

Вы ошибаетесь. Байт-представление 33.1313576f как float - это 0x42048683 согласно Java и this online calculator.

То, что вы на самом деле имеете, это не поплавок, это целое число ,, которое необходимо масштабировать на 1/1000000 или что бы это ни было.

Смежные вопросы