|
как прочитать 4 байта как float?
|
|||
---|---|---|---|
#18+
Доброго времени суток! Читаю бинарный файл. Очередной блок - 4 байта, которые нужно перевести во float. Fox v9 через ctobin(fread(hfile, 4), '4RS') отлично переводит в integer, а как во float - до меня не доходит. С примерами выглядит так. Hex: 30 A6 F7 40; int: 1089971760; нужный float: 7.739037. Как вариант - перевести во float не hex, а уже вот этот int. Подскажите плиз, в какую сторону вообще смотреть. Может, у фокса есть встроенная функция? Заранее спасибо :) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2020, 06:42 |
|
как прочитать 4 байта как float?
|
|||
---|---|---|---|
#18+
Встроенных функций нет. Проще всего написать на С такую функцию и вызывать ее из DLL. Можно заморочиться переводном из int. Структура float ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2020, 11:41 |
|
как прочитать 4 байта как float?
|
|||
---|---|---|---|
#18+
Накидал по-быстрому, вроде работает Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Пользоваться так Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2020, 16:46 |
|
как прочитать 4 байта как float?
|
|||
---|---|---|---|
#18+
Dima T, спасибо, работает! :) споткнулось на одном значении: F42576BF -> -0.9615166 т.е. должно быть вот так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2020, 13:07 |
|
как прочитать 4 байта как float?
|
|||
---|---|---|---|
#18+
Забыл что 127 вычитается, правильно так Код: sql 1.
т.к. для отрицательного bitrshift(lnI, 23) минимум 256, а 256-127=129 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2020, 13:58 |
|
как прочитать 4 байта как float?
|
|||
---|---|---|---|
#18+
Я, конечно, понимаю, что это наглость с моей стороны, но все равно рискну :) Можно попросить такую же функцию, только в обратную сторону? float -> hex. Заранее спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2020, 12:57 |
|
как прочитать 4 байта как float?
|
|||
---|---|---|---|
#18+
На фоксе писать долго. В аттаче dll, используй ее. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2020, 09:02 |
|
|
start [/forum/topic.php?fid=41&fpage=5&tid=1581585]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
38ms |
get topic data: |
15ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 157ms |
0 / 0 |