4.12.2018 / 20:38 | |
Vlad_jonson  Пользователь
Сейчас: Offline
Имя: Владислав Откуда: Киев Регистрация: 09.08.2014
| Aladdin, Спасибо  |
9.12.2018 / 19:22 | |
Vlad_jonson  Пользователь
Сейчас: Offline
Имя: Владислав Откуда: Киев Регистрация: 09.08.2014
| Вы уж извените,или я тупею или на самом деле из рмс нельзя достать double,я конечно понимаю мол разный размер байтов между типами ну все же знаю что стоит указать компилятору мол все ок я рулю,но в моем случае оказалось все иначе компиль болие чем уверен что я не прав.Кто поможет получить double из byte[]  |
10.12.2018 / 10:49 | |
Askalite  Пользователь
Сейчас: Offline
Имя: Аскалайт Регистрация: 12.10.2011
| Vlad_jonson, byte[] bdouble = new byte[8];
// чтение в bdouble ...
long longBits = ((long)bdouble[0] << 56) +
((long)(bdouble[1] & 255) << 48) +
((long)(bdouble[2] & 255) << 40) +
((long)(bdouble[3] & 255) << 32) +
((long)(bdouble[4] & 255) << 24) +
((bdouble[5] & 255) << 16) +
((bdouble[6] & 255) << 8) +
((bdouble[7] & 255) << 0);
double d = Double.longBitsToDouble(longBits);
|
10.12.2018 / 12:42 | |
aNNiMON Супервизор
Сейчас: Offline
Имя: Витёк Откуда: Донецк Регистрация: 11.01.2010
| Vlad_jonson, пожалуйста, взгляни на календарь, там 2018, а не 2008. Какой RMS? Давай уже Java SE осваивать, а с него в Android. Оберни свой byte[] в ByteArrayInputStream, а его в DataInputStream и читай readDouble();
Askalite, побитовое сложение лучше уж использовать, а не арифметическое. Но вообще, это немного индусский код.
__________________
 let live Изменено aNNiMON (10.12 / 12:43) (всего 1 раз) |