A
C hat die schöne Eigenart, dass es ein Ergebnis in einen Integer umwandelt, wenn in der Berechnung durch einen Integer geteilt wird. In deinem Fall heißt das, dass die Berechnung (1 / m_nRatedSpeed) nicht die erwarteten einhundertstel hervorbringt, sondern 0, denn 0,01 ist nun mal ohne die Kommastellen einfach 0.
Um dein Problem zu lösen, gibts zwei Möglichkeiten. Entweder du änderst den Typ m_nRatedSpeed in eine Kommazahl um oder du musst bei deiner Berechnung m_nRatedSpeed mal 1.0 nehmen (am besten in Klammern, also (m_nRatedSpeed * 1.0)).
Wenn bei deiner zweiten Berechnung ein Wert kleiner als 1 rauskommt, dann wird in nCycles auch eine 0 rauskommen (nur falls das mal passieren sollte und du das nicht im Sinn hast).