Ora son di passaggio, però ho letto e compreso in parte il tuo messaggio.
Per quanto riguarda la union io la uso perchè a me sembra che i caratteri di shift sui float e double non posso utilizzarli...sbaglio?
Come faccio a calcolarmi il binario da quella tua funzione? Non ho la minima idea...:S