Malo kasnim sa odgovorom, ali možda će poslužiti.
Kod obične preciznosti (32-bitni float), prvi bit označava znak, sledećih 8 bita modifikovani eksponent (stvarni eksponent + 127) i ostalih 23 bita sadrze decimale. Znači kada imaš neki dekadni broj i želiš da ga zapišeš binarno u float formatu, prvo ga pretvoriš u binarni, pomjeriš zarez tako da broj počinje sa 1.nešto * 2^eksponent, zatim dodaš 127 na eksponent i to takodje zapišeš binarno.
Evo u attachmentu pdf sa faksa koji to detaljno objašnjava.
ivan@ivan-desktop:~$ ./encrypt.run
*** stack smashing detected ***: ./encrypt.run terminated
Aborted (core dumped)