C++-Programmierung/ Brüche/ Umwandlung in andere Datentypen

Aus Wikibooks

Wechseln zu: Navigation, Suche


In diesem Kapitel werden wir unseren Bruch in Gleitkommazahlen umwandeln. Hierfür müssen wir einfach den Zähler durch den Nenner teilen. Da jedoch beide einen integralen Typ haben, müssen wir vor dem Teilen einen der Werte in eine Gleitkommazahl umwandeln, damit keine Ganzzahldivision durchgeführt wird. Bei einer Ganzzahldivision würden natürlich die Nachkommastellen abgeschnitten.

Crystal Clear app terminal.png
class Bruch{
public:
// ...
    operator float()      {return static_cast<float>(m_zaehler) / m_nenner;}
    operator double()     {return static_cast<double>(m_zaehler) / m_nenner;}
    operator long double(){return static_cast<long double>(m_zaehler) / m_nenner;}
// ...
};

Sie können den Bruch jetzt auf die folgende Weise in eine Gleitkommazahl umwandeln:

Crystal Clear app terminal.png
#include <iostream>

// Alles was zur Bruch-Klasse gehört

int main(){
    std::cout << static_cast<double>(Bruch(1, 8));
}
Crystal Clear app kscreensaver.png
Ausgabe:
0.125


Persönliche Werkzeuge