Hello, I didn't know that Varian has that numeric mode bit, thanks for bringing it up. Floating point option offers greater "dynamic range" of storable numbers.
edit: Kirk is right - there is no way to guess whether a one given number is float or integer, since in the end both are represented by a bunch of bits, however there may be a way to analyze a pattern within a set of numbers casted as integers and casted as floats. It does seem to be more complicated than I thought, anyway - below is the answer I've given originally:
With C
programming language there seem to be two ways to guess (actually wrong - it's not a way to guess, but merely a way to extract a fractional and an integer part of a float) whether data is in the integer or floating point format:
- using
modf()
and modff()
functions (type man modf
on your console) to extract integer and fractional parts
- trying to cast a value into float first, then recast it into integer and calculate the difference. If the difference is always
0
- you have integer format, otherwise it's float.
Take a look here for more details.
So you could run through all the numbers with one of the methods and determine the format of entire set.
edit: hmm, interesting (pls see comments under Kirk's answer) this method may be unreliable or even just wrong. If any integer in a binary representation is a valid float, then there is no guarantee that there won't be some non-zero fractional portion of integer casted into float. Lemme think about it.