Название: Преобразовать "hex" в float Отправлено: Nidxogg от Июль 11, 2015, 11:34 Добрый день
Имеется бинарный файл. Если открыть его HEX-просмотрщике (к примеру, в total commander), то можно увидеть значение 00 97 35 54 Как можно преобразовать это значение во float 97.3554? Название: Re: Преобразовать "hex" в float Отправлено: Igors от Июль 11, 2015, 11:54 Добрый день Имеется бинарный файл. Если открыть его HEX-просмотрщике (к примеру, в total commander), то можно увидеть значение 00 97 35 54 Как можно преобразовать это значение во float 97.3554? Код Будьте уверены что Вы хотели получить именно 97.3554, т.к. это не соответствует никакому стандартному представлению данных, чисто "самопальный" формат, ну вот кто-то захотел записать флот как 2 шорта Название: Re: Преобразовать "hex" в float Отправлено: Nidxogg от Июль 11, 2015, 13:21 Формат действительно самопальный, но заказчик хочет
Сам сделал через QString, ваш вариант получше Благодарю. Название: Re: Преобразовать "hex" в float Отправлено: Old от Июль 11, 2015, 13:32 Сам сделал через QString, ваш вариант получше Только он не работает.0x97 (hex) != 97 (dec) Название: Re: Преобразовать "hex" в float Отправлено: Nidxogg от Июль 11, 2015, 13:46 Проверить ещё не успел
P.S. Сам сделал так sec, msec - соответсвенно ushort из файла Код: ushort time_sec = QString("%1").arg(qToBigEndian(sec),0,16).toUShort(); Название: Re: Преобразовать "hex" в float Отправлено: Old от Июль 11, 2015, 17:25 Если уж вы со строками работаете, то и форируйте сразу строку как число с точкой и ей делайте toFloat.
Название: Re: Преобразовать "hex" в float Отправлено: Igors от Июль 12, 2015, 11:13 Да, цифры-то в десятичную я не перевел. Правильно так
Код
Название: Re: Преобразовать "hex" в float Отправлено: kuzulis от Июль 12, 2015, 16:28 Код
Название: Re: Преобразовать "hex" в float Отправлено: Igors от Июль 13, 2015, 07:26 Код
Название: Re: Преобразовать "hex" в float Отправлено: kuzulis от Июль 13, 2015, 09:49 Зато прост и безопасен ;)
Ну, можно еще (как-то так): Код
|