Вниз  Исправления исходников (1-ый пост)
- 4.12.2018 / 20:38copy  #507198
Vlad_jonson
  Пользователь

Vlad_jonson 
Сейчас: Offline
Aladdin, Спасибо ;-)
- 9.12.2018 / 19:22copy  #507385
Vlad_jonson
  Пользователь

Vlad_jonson 
Сейчас: Offline
Вы уж извените,или я тупею или на самом деле из рмс нельзя достать double,я конечно понимаю мол разный размер байтов между типами ну все же знаю что стоит указать компилятору мол все ок я рулю,но в моем случае оказалось все иначе компиль болие чем уверен что я не прав.Кто поможет получить double из byte[] :-D
- 10.12.2018 / 10:49copy  #507395
Askalite
  Пользователь

Askalite 
Сейчас: Offline
Vlad_jonson,
  1.  byte[] bdouble = new byte[8];
  2.  
  3. // чтение в bdouble ...
  4.  
  5. long longBits = ((long)bdouble[0] << 56) +
  6.             ((long)(bdouble[1] & 255) << 48) +
  7.             ((long)(bdouble[2] & 255) << 40) +
  8.             ((long)(bdouble[3] & 255) << 32) +
  9.             ((long)(bdouble[4] & 255) << 24) +
  10.             ((bdouble[5] & 255) << 16) +
  11.             ((bdouble[6] & 255) <<  8) +
  12.             ((bdouble[7] & 255) <<  0);
  13.  
  14. double d = Double.longBitsToDouble(longBits);

- 10.12.2018 / 12:42copy  #507397
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
Vlad_jonson, пожалуйста, взгляни на календарь, там 2018, а не 2008. Какой RMS? Давай уже Java SE осваивать, а с него в Android.
Оберни свой byte[] в ByteArrayInputStream, а его в DataInputStream и читай readDouble();

Askalite, побитовое сложение лучше уж использовать, а не арифметическое. Но вообще, это немного индусский код.
__________________
 let live

Изменено aNNiMON (10.12 / 12:43) (всего 1 раз)
Наверх  Всего сообщений: 1654
Фильтровать сообщения
Поиск по теме
Файлы топика (322)
Поиск по форуму
Новые вверху
  © aNNiMON (Melnik Software)
Онлайн: 33 (1/32)