Należy zaimplementować klasę MyDouble która dynamicznie (tj. w zależności od dokładności podanej liczby lub wyniku operacji) będzie ustalać położenie „przecinka”. Rozmiar tej liczby nie powinien przekroczyć rozmiaru zmiennej double + 8 bitów.
Klasa będzie implementować wszystkie operacje matematyczne tj. +, -, *, /, pow (potęgowanie) i sqrt (pierwiastek 2 rzędu) . Ponadto używając operatora konwersji można dokonać zamiany na predefiniowane typy (int)(double)(long) itd.
Bazując na klasie MyDouble należy utworzyć klasę MyCplx która będzie reprezentować liczby zespolone – oraz operacje matematyczne wykonywane na liczbach zespolonych tj. +, -, * i /.
Zastosowanie powyższych klas należy przedstawić w aplikacji która:
a) przedstawi nam bardzo dokładną liczbę PI
b) operacje mnożenie dwóch macierzy liczb zespolonych
Dodatkowe materiały:
Algorytm obliczania liczby PI o dowolnej dokładności można znaleźć pod adresem:
http://ux1.math.us.edu.pl/~szyjewski/FAQ/liczby/pi.htm
Informacje o podstawach kodowania liczb:
http://www.biblioteka.edu.pl/bc/varia/mirror/zsmid_przemysl/edu/jm524/jm524.htm
Wielkie dzięki za pomoc
--Korea