View Full Version : Floating point identification how is it done? last bit ?
Zap-o
07-23-2009, 04:37 AM
Is there a specific way that I can check a bit in a variable to tell if it is in floating point form.
For example:
I have some data entered into a variable and before I manipulate it and use the "math.Fadd" function I need to know beforehand to float it or leave it.
IF varable is not a floating point
math.Ffloat this variable
else
math.Ffloat(variable, 1.02)
Any help is appreciated.
Post Edited (Zap-o) : 7/22/2009 10:07:38 PM GMT
Nick Mueller
07-23-2009, 05:11 AM
No, no way.
Nick
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Never use force, just go for a bigger hammer!
The DIY Digital-Readout for mills, lathes etc.:
YADRO (http://www.yadro.de)
Zap-o
07-23-2009, 05:51 AM
What do you mean no way? Is it not true that only 27 bits are used in floating point? The other 4 are used for something.
BradC
07-23-2009, 05:54 AM
Zap-o said...
What do you mean no way? Is it not true that only 27 bits are used in floating point? The other 4 are used for something.
The entire 32 bits are used to represent the FP number. There is no way to determine if it's signed/unsigned/fp...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
<This space for rent>
Phil Pilgrim (PhiPi)
07-23-2009, 05:55 AM
All 32 bits are used for both floating point and integers. There's no way to tell from the value how that value was created.
-Phil
Bobb Fwed
07-23-2009, 05:58 AM
I think this is the right reference to use: en.wikipedia.org/wiki/Single_precision_floating-point_format (http://en.wikipedia.org/wiki/Single_precision_floating-point_format) or en.wikipedia.org/wiki/IEEE_754-2008 (http://en.wikipedia.org/wiki/IEEE_754-2008)
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
April, 2008: when I discovered the answers to all my micro-computational-botherations!
David B
07-23-2009, 06:43 AM
Given some "random" 32 bit variable, I think all you could do is check whether it might not be a float, as there are some bit patterns that aren't valid floating points, referred to as "NAN" for "not a number" values.
But apart from that, any random number could be a valid float number, even if it wasn't intended to be.
If you really need this functionality, maybe you could set up a separate array of flag bits to track the status of your numbers; whether they have been converted to float or not.
Phil Pilgrim (PhiPi)
07-23-2009, 07:57 AM
The flag array might not be a bad idea if you need dynamic typing of VARS. There are 8192 longs in hub RAM. Assigning each one a flag bit would require 1024 bytes. For non-graphics apps, that's not a show-stopper. It would not work for method-local variables, though, since they do not have static addresses.
-Phil
Nick Mueller
07-23-2009, 10:41 PM
> as there are some bit patterns that aren't valid floating points, referred to as "NAN" for "not a number" values.
Even these are valid and very useful values!
Nick
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Never use force, just go for a bigger hammer!
The DIY Digital-Readout for mills, lathes etc.:
YADRO (http://www.yadro.de)