fragment program PK2H instruction


I am trying something on a NV quadro FX 3000.
I need to pack some floats together in a texture and unpack them latter. I am trying to us the PK2H and UP2H instructions in my fragment program, but it doesn’t work as I expected. It seems to me that if one of the number I pack is zero, then when I unpack them they are both zero. I have made many tests to find this out, and if I replace the 0 with 0.00001 it works fine.
Am I doing something wrong or does anyone experienced the same problem?