I've been investigating a little in the nature of floating point regs in Allen Bradley SLC's as I was trying to convert a long integer (32-bit integer) into a floating point and back. I needed accurate numbers up to +/- 2 billion for a positioning system.
The SLC does not support long integers, so I was trying to use floating point. I works well until the floating point register have to convet the value into 1.xxxxxx powered by a number of tens (e.g. 1.23456+E008). When the floting point reaches this number, the rounding is a problem (to my situation, as could not accept to miss out up to approx. 25 numbers when the value closed in on +/- 2 billion.
I even went to speak with Allen Bradley to find a way to extract a floating point value into a double integer (as the SLC do not support long integers), but the answer was, that they would ask me to pay development time for them to create the nescessary code/instruction set. This was back in january 2004.