vorsicht mit dem casten, die variable wird dann nur INTERPRETIERT aber wenn du mit einer gecasteten variable rechnest, wird ihr speicher dadurch NICHT größer!!! aber auf double zu casten hilft ungemein wenn du die nachkommastellen mitnehmen willst ...

Code:
((double) hi_time + (double) low_time)
schmeckt mir iwie nicht, da kommt am ende was undefiniertes bei raus möchte ich meinen ... evtl. die ganze klammer nochmal casten.
aber ob da nicht signifikante bits unter den tisch fallen ??? notfalls die berechnung vorher in einer echten double zwischenspeichern und dann mit dieser rechnen ... ich vertrau dem GCC nicht mehr so recht was klammern und deklarationen angeht