направьте на путь правильный, плиз.
вот нашел страничку, где онлайн конвертер есть (http://babbage.cs.qc.edu/IEEE-754/32bit.html)
он мне число 0xC36FE427 перевел как -239.89122009277344
сделал схему
Add(MainForm,5927321,14,14)
{
Left=20
Top=105
Width=429
Point(onMouseDown)
link(onCreate,8706712:doData,[])
}
Add(Edit,14198300,112,49)
{
Left=10
Top=10
Width=85
Text=""
link(onChange,7563238:doConvert,[])
}
Add(Length,341862,574,119)
{
link(onLength,1041362:doCalc,[(615,125)(615,233)(312,233)(312,195)])
}
Add(Convertor,7563238,154,49)
{
Mode=5
link(onResult,6826653:doConvert,[])
}
Add(Memory,2823152,238,49)
{
link(onData,14024750:doCopy,[(280,55)(280,100)(228,100)(228,125)])
}
Add(Convertor,6826653,196,49)
{
Mode=8
Digits=32
link(onResult,2823152:doValue,[])
}
Add(MathParse,1041362,322,189)
{
DataCount=4
MathStr="-1 * %1 * (2^%2)*(1+%3/(10^%4))"
link(onResult,1786382:doText,[])
link(X1,12765392:Value,[(328,170)(286,170)])
link(X2,1267942:Result,[(335,170)(412,170)])
link(X3,5156670:Value,[(342,175)(538,175)])
link(X4,341862:Result,[(349,181)(580,181)])
}
Add(Copy,14024750,238,119)
{
Position=1
Count=1
link(onCopy,12765392:doValue,[])
link(Str,15335938:Var2,[(244,115)(244,122)])
}
Add(DoData,8706712,63,49)
{
Data=String(C36FE427)
link(onEventData,14198300:doText,[])
}
Add(Edit,1786382,371,189)
{
Left=10
Top=40
Width=85
Text=""
}
Add(Convertor,7526462,364,119)
{
Mode=7
link(onResult,1267942:doOperation,[])
}
Add(Copy,5607076,322,119)
{
Position=2
Count=8
link(onCopy,7526462:doConvert,[])
link(Str,2768779:Var2,[])
}
Add(Copy,10509210,448,119)
{
Position=10
Count=23
link(onCopy,3318578:doConvert,[])
link(Str,2768779:Var3,[(454,107)])
}
Add(Memory,12765392,280,119)
{
link(onData,5607076:doCopy,[])
}
Add(Memory,5156670,532,119)
{
link(onData,341862:doLength,[])
}
Add(Math,1267942,406,119)
{
OpType=1
Op2=127
ResultType=0
link(onResult,10509210:doCopy,[])
}
Add(Convertor,3318578,490,119)
{
Mode=7
link(onResult,5156670:doValue,[(586,125)(523,125)])
}
Add(GetDataEx,15335938,231,98)
{
link(Data,2823152:Value,[(244,88)(244,88)])
}
Add(GetDataEx,2768779,315,98)
{
Angle=2
link(Data,15335938:Var3,[(328,107)])
}
затем полученные биты делю на знак, порядок и мантиссу (1, 8, 23 бита) и перевожу обратно в целые (int). далее мат. парсер считает и по след. формуле:
-1 * %1 * (2^%2)*(1+%3/(10^%4))
%1 - бит знака, %2 - порядок, %3 - мантисса, %4 - кол-во знаков в мантиссе.
в итоге получается -221.8611584, что отличается от того, что скрипт на странице считал, и от реального значения.
где-то погрешность накапливается? или я не так считаю?
ну с обратном переводом (дробное в хекс) полный провал. математики, подскажете?