Задать вопрос
@DmitriyN

Вопрос по поводу чисел с плавающей запятой

При реализации интерфейса к одной железке (bq20z95) наткнулся на непонятный формат чисел с плавающей запятой. IEEE 754 не подходит.

Есть 2 примера:
1. последовательность {0x93, 0x09, 0x2c, 0x94} должна декодироваться как 280932.6,
2. последовательность {0x80, 0x71, 0x20, 0x5b} должна декодироваться как 0.9419.

Может быть, кто-нибудь встречался с чем-нибудь подобным?
  • Вопрос задан
  • 2578 просмотров
Подписаться 2 Оценить 2 комментария
Решения вопроса 1
YasonBy
@YasonBy
Похоже, у TI свой собственный floating-point формат (pdf, стр. 14), и Ваши примеры он декодирует правильно.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@nerudo
Судя по даташиту, те два примера, что вы приводите — это сопоставление значений по умолчанию из документа и данные считанные из реальной железки. Но поскольку это калибровочные данные, то они могут легко отличаться от дефолтных значений в том случае, если железка к вам пришла не прямо с конвейера (да и то...). А чему соответсвуют приведенные вам значения при использовании стандартного формата (float)? Проверьте, находятся ли они в рамках заданного диапазона значений. Ну и еще можно байты посвопить на тему младший/старший вперед.
Ответ написан
YasonBy
@YasonBy
Некто ivkey (с адресом на yandex.ru) написал мне по почте:
Здравствуйте, пишу по поводу вопроса на Хабре «Вопрос по поводу чисел с плавающей запятой». Контакты DmitriyN не нашёл, поэтому пишу Вам, передайте уж ему, пожалуйста.
Вот ссылка на пример расчёта значений:

e2e.ti.com/support/power_management/battery_management/f/180/p/53473/214273.aspx#214273
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы