Вниз
Скачать: CL | DM;

Как преобразовать 4 байта в тип Float   Найти похожие ветки 

← →
Kolan ©   (2006-05-27 13:46) [0]

Здравствуйте,
 Мне нужно получить число с плавающей точкой с устройства. В устройстве число преобразуется в 4 байта. Как их преобразовать назад во float?
 И еще как хронятся float в Delphi?
 Устройство еще не готово, поэтому можно договорится с разработчиком... Вроде унего float в стандарте IEEE 754


← →
Marser ©   (2006-05-27 14:06) [1]

http://os2000.nm.ru/guide/interrupt__1_1_14_4_1.htm


← →
MBo ©   (2006-05-27 14:11) [2]

через указатели (PSingle и на массив) или с использованием absolute


← →
Kolan ©   (2006-05-27 15:35) [3]


> MBo ©   (27.05.06 14:11) [2]

То есть разницы что Word из 2х байт получить, что Float из 4 нет?
Просто распологаю по тому же аресу число с помошью absolute  и не каки заморочек нет?


← →
palva ©   (2006-05-27 15:54) [4]

Только помнить, что порядок байтов в памяти обратный.


← →
GEN++ ©   (2006-05-27 16:00) [5]

В Delphi - Single - 4-х байтный формат с плав точкой,
совпадает с форматом 32-х разрядным Айяяй - проверено.
Но не совпадлает с 24-х битным (например фирмы Hi-Ti)


← →
isasa ©   (2006-05-27 16:06) [6]


Type           Range                                    Significant digits     Size in bytes
Real48 2.9 x 10^-39 .. 1.7 x 10^38       11-12                       6
Single   1.5 x 10^-45 .. 3.4 x 10^38       7-8                          4
Double 5.0 x 10^-324 .. 1.7 x 10^308    15-16                       8
Extended 3.6 x 10^-4951 .. 1.1 x 10^4932 19-20                     10
Comp   -2^63+1 .. 2^63 -1                  19-20                       8

Если в IEEE 754, а не в BCD(Binary Coded Decimal)
Как в
MBo ©   (27.05.06 14:11) [2]
на буфер можно прямо, по нашему, по Дельфийски
var ps: ^Single;
...
ps:=@buff;


← →
Kolan ©   (2006-05-27 20:12) [7]

Благодарю.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.046 c
1-1147103040
Андрей Молчанов
2006-05-08 19:44
2006.06.18
Управление тултипами TTreeView


2-1148902961
Ezorcist
2006-05-29 15:42
2006.06.18
Написание компонента от TClientSocket


1-1147597832
Monax
2006-05-14 13:10
2006.06.18
Как установить размер страницы при печати через Printer


2-1149059536
Perf2k2
2006-05-31 11:12
2006.06.18
Необходимо как-то хранить глобальную переменную с ее значением


4-1143037786
Arazel
2006-03-22 17:29
2006.06.18
ListBox под WinApi это не проблема! А вот со скинами это слабо!




   Наверх