Как работать с float extended в PHP? а конкретно - есть задача - из sql получаются данные типа float после этого эти данные надо в разместить в бинарную строку в формате ieee754 (type float double extended) 80-bit т.е. сделать что-то вроде http://babbage.cs.qc.cuny.edu/IEEE-754/Decimal.html насколько я понимаю на тек. момент php штатно не работает с подобным представлением - как это можно реализовать своей функцией?
Это конечно хорошо - точность... а каким образом мне конкретно указать, что использовать представление в памяти 80-ти битное? у меня задача стоит - конкретно extended float (80bit) причем мне нужно всего две ф-ции - str2float80bit и float80bit2str где str - строковое представление числа с плавающей запятой например 52,01927834 или 47,748208323455, а float80bit - 10 байт для размещения в памяти.
вот черновой вариант того, что мне было надо... function float2ieee80bit($float) { $x=pack('d', $float); $x = join('',array_reverse(preg_split('//',$x,-1,PREG_SPLIT_NO_EMPTY))); $str_x = join('',array_reverse(preg_split('//',str2bin($x),-1,PREG_SPLIT_NO_EMPTY))); $my = unpack ("a52mantissa/a11exponent/a1sign",$str_x); $m=$my['mantissa']; $e=$my['exponent']; $s=$my['sign']; $e="001000000000001"; $ie80="00000000000".$m."1".$e.$s; // тут весьма "грязный" хак - но для моих диапазонов значений вполне прокатит... $bie80=bin2str($ie80); return $bie80; }