Здравствуйте, гость ( Вход | Регистрация )
MJIbIu | Дата 23.8.2011, 14:03 |
Всем привет. Работаю с ГЛОНАСС-приемником по ком-порту. Он шлет бинарные пакеты определенной структуры. Я получаю эти пакеты в массив QByteArray. Я знаю, что, например, байты 4,5,6,7,8,9,10,11 хранят в себе данные типа double. Как мне эти 8 байт преобразовать в обычную double переменную? Потом эту переменную мне нужно будет вывести на экран в формате "31.12347"? В добавок в документации к глонасс-приемнику видимо забыли указать little-endian или big-endian.... если у тебя именно байты 4, 5, 6, 7, 8, 9, 10, 11 3 1 . 1 2 3 4 7 как вытащить почитай в документации, а вот если они лежат как то по другому тогда и надо искать в протоколе обмена |
|
kuzulis | Дата 22.8.2011, 15:29 |
QByteArray::toDouble(bool &ok) самоотверженно выдает 0... Значит пробовать как то так:
А вообще: Цитата Я знаю, что, например, байты 4,5,6,7,8,9,10,11 хранят в себе данные типа double. надо иметь описание на поля протокола!!! Разбирайся сам. |
|
rcdimon | Дата 22.8.2011, 15:10 |
QByteArray::toDouble(bool &ok) самоотверженно выдает 0... | |
kuzulis | Дата 22.8.2011, 14:03 |
Цитата Как мне эти 8 байт преобразовать в обычную double переменную? QByteArray::toDouble(bool &ok) ? Цитата Потом эту переменную мне нужно будет вывести на экран в формате "31.12347"? QString::number ( double n, char format = 'g', int precision = 6 ) PS: Мы не ассистенточитатели, да? Мы кодописатели? |
|
rcdimon | Дата 22.8.2011, 13:44 |
Всем привет. Работаю с ГЛОНАСС-приемником по ком-порту. Он шлет бинарные пакеты определенной структуры. Я получаю эти пакеты в массив QByteArray. Я знаю, что, например, байты 4,5,6,7,8,9,10,11 хранят в себе данные типа double. Как мне эти 8 байт преобразовать в обычную double переменную? Потом эту переменную мне нужно будет вывести на экран в формате "31.12347"? В добавок в документации к глонасс-приемнику видимо забыли указать little-endian или big-endian.... |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 28.3.2024, 21:03 |