Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.06.18;
Скачать: 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 вся ветка

Текущий архив: 2006.06.18;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.043 c
2-1149227834
kvi
2006-06-02 09:57
2006.06.18
код завершения программы


1-1145964438
Alexandr
2006-04-25 15:27
2006.06.18
новая страница word


15-1148654663
Palladin
2006-05-26 18:44
2006.06.18
По поводу овертайма в хоккее


3-1145617005
Экспериментатор
2006-04-21 14:56
2006.06.18
Есть Query с запросом, научите как получить значение REGS.TypeReg


2-1148904031
VitV
2006-05-29 16:00
2006.06.18
Запись рисуков в базу данных...