Russian Qt Forum

Qt => Вопросы новичков => Тема начата: deefox от Октябрь 28, 2015, 16:27



Название: Float
Отправлено: deefox от Октябрь 28, 2015, 16:27
Добрый вечер.

Использую Float в структуре для передачи данных по UdP. Подскажите пожалуйста, в библиотеках он числится как 32, но кадрируется он как 64 бит. Как мне ограничить его как 32, и чтобы он кодировал именно по стандарту 32, а не 64.

Просмотрел форум но ничего не нашел. если я все же что то пропустил. дайте ссылку.

Заранее спасибо за помощь.


Название: Re: Float
Отправлено: Пантер от Октябрь 28, 2015, 16:29
Покажи код структуры и как передаешь ее.


Название: Re: Float
Отправлено: deefox от Октябрь 28, 2015, 16:33
typedef struct {
    quint8 tstp;
    quint8 tstp_ram;
    quint8 tstp_nvram;
    quint8 tstp_falsh;
    quint8 tstp_nandflash;
    quint8 tsttime;
    qint32 tstd_day;
    qint32 tstd_hours;
    qint32 tstd_minute;
    quint8 tsttd;
    float tsttmp;
    quint8 tstEc;
    quint8 tstEc_2;
    quint8 tstFc;
}s_test_1;

структура такова. передаю через QByteArray

        QByteArray block;
        QDataStream out(&block, QIODevice::WriteOnly);
        out << s_hade.msgType;
        out << s_hade.msgLenght;
        out << s_hade.msgNum;
        out << s_hade.senderType;
        out << s_hade.recipientType;
        out << s_hade.mode;
        out << s_hade.mode_vsk_2;
        out << s_hade.version;
        out << validate.bits;
        out << s_test1.tstp;
        out << s_test1.tstp_ram;
        out << s_test1.tstp_nvram;
        out << s_test1.tstp_falsh;
        out << s_test1.tstp_nandflash;
        out << s_test1.tsttime;
        out << s_test1.tstd_day;
        out << s_test1.tstd_hours;
        out << s_test1.tstd_minute;
        out << s_test1.tsttd;
        out << s_test1.tsttmp; /* << float; */


на приеме примерно акая же структура. и конвертирует согласно стандарту 64.


Название: Re: Float
Отправлено: Пантер от Октябрь 28, 2015, 16:38
Читай доки.
Код
C++ (Qt)
void QDataStream::setFloatingPointPrecision(FloatingPointPrecision precision)
 


Название: Re: Float
Отправлено: deefox от Октябрь 28, 2015, 16:47
спасибо что указал направление))