Baue dir eine entsprechende Datenstruktur. In C wäre das soetwas wie
Code:
struct ratnum {
unsigned int numer, denom;
int sign:1;
};
Das lässt sich sicher auch sinnlos zu einer Klasse aufblasen. Mit überladenen Operatoren und was man
sich nicht alles für OOP-Grausamkeiten ausdenken kann. Deiner Fantasie sind keine Grenzen gesetzt.
€: Selbstverständlich findet man im besten denkbaren Buch und Kurs zum Einstieg in die Programmierung
(Ich rede natürlich von SICP) nicht nur alles zum Rechnen mit speziellen Datenstrukturen für rationale
Zahlen, sondern gleich auch Polynome und imaginäre Zahlen und wie man mit ein paar einfachen Handgriffen
mit allen durcheinander beliebig rechnen kann. Komplett abstrahiert, ohne dass der Benutzer irgendetwas
von den internen Abläufen mitbekommt.
Ein Polynom, deren Koeffizienten Brüche aus imaginären Zahlen sind? SICP sagt dir, wie. Und hinterher ist
man nur verblüfft wie einfach das jetzt war. Kann doch gar nicht sein, denkt man. Mind = Blown.
Erwähnte ich, wie großartig SICP ist? Nein? Ok. SICP hat meinen Horizont -- selbst nachdem ich jahrelang
programmiert habe -- enorm erweitert. Jeder, der sich mit dem Fach beschäftigt, sollte es lesen. Und es kostet
nicht einmal was. Und für Lesefaule gibt es den Kurs sogar als Videovorlesungen. Was will man mehr?
€2:Meine Struktur verschönert und ich sollte euch noch was ausrichten:
[01:31:05] <XXX> asdman: kannst du da mal hart auf den tisch kacken?
[01:31:07] <XXX> decimal für geld?
[01:31:16] <XXX> sind die banane?
[01:32:01] <XXX> decimal ist immer noch ieee754 fp
[01:32:04] <XXX> und damit fuer geld nicht geeignet