The ARM Cortex-M4F processor has an instruction that will load an immediate constant into a floating-point register, as in:
VMOV S0,+6.75
However, the value of the constant is restricted and must be equal to a value that can be expressed as +/-m x 2-n, where m is an integer in the range 16-31 and n is an integer in the range 0-7. E.g., the above instruction works because you can get 6.75 with m=27 and n=2.
I'd really like to find an algorithm that determines whether or not a particular real number can be represented this way, and if so, gives the corresponding values of m and n.