Double und Float ist eigentlich auf einem µC ohne FPU zu vermeiden, da es lahm ist und unnötig Speicher frisst.

Am einfachsten dürfte Festkomma Arithmetik sein und du addierst das erste bit nach dem Komma auf deine Ganzzahl. Ist es 0, ist dein Wert kleiner 0.5 ist es 1 ist er mindestens 0.5.
Wie man aber mit einem Festkomma unter C programmiert, weiß ich leider nicht.

Bei deinem Problem könntest du mMn. auch komplett auf Kommazahlen Verzichten, indem du mit mV rechnest un am Ende dann alles so weit verschiebst, dass Volt raus kommen und zum Schluss den Carry addiert.
Kommt aber ein bisschen auf die Messung an, ob es sich lohnt.
Wie groß ist denn deine Auflösung, deine Referenzspannung und dem entsprechen, wie viel mV hat ein bit?