B
Badener
hallo,
kann es sein, daß das pb doch nicht sooo schnell ist, wie hier im forum und von apple immer propagiert?
die alten ägypter hatten eine eigene methode, wie man multipliziert. die habe ich mal in einem c++-programm umgesetzt (ich weiß, hätte man auch eleganter proggen können, aber darauf kommt es jetzt nicht an).
hier das listing:
/* Dieses Programm vergleicht die Ergebnisse
zwischen der Berechnung eines Produktes als Multipiliaton
und der "aegyptischen Methode" */
#include <iostream>
using namespace std;
int egypt (unsigned long int zahl1, unsigned long int zahl2)
{
unsigned long int summe = 0;
int check = 0;
check = zahl1%2;
if (check != 0)
summe += zahl2;
while (zahl1 != 1)
{
zahl1 = zahl1/2;
zahl2 = zahl2*2;
check = zahl1%2;
if (check != 0)
summe += zahl2;
}
return summe;
}
int main()
{
cout << "Bis zu welcher Zahl soll berechnet werden: " << endl;
int endstelle = 0;
cin >> endstelle;
int b = 1;
int fehlercount = 0;
while ( b != endstelle+1)
{
for (int a = 1; a != endstelle+1; ++a)
{
if ((a*b)!=(egypt(a,b)))
{
cout << "!!!!!!!!!! F E H L E R !!!!!!!!!!" << endl;
cout << "Die Berechnung funktioniert nicht fuer die Zahlen:" << endl;
cout << "a = " << a << " und b = " << b << endl;
cout << "Produkt: " << a*b << endl;
cout << "aegyptische Methode: " << egypt(a,b) << endl << endl;
++fehlercount;
}
}
cout << "Berechnung fuer b = " << b << " / " << endstelle << " abgeschlossen" << endl;
++b;
}
if (fehlercount == 0)
cout << endl << "Keine Fehler gefunden.... Methode stimmt!" << endl;
return 0;
}
man sieht, hier kommt es auf reine rechnerleistung an.
ich habe es mal auf 3 rechnern laufen lassen und als endwert 50.000 eingegeben:
samsung p30, 1,5 GHz Centrino, 512 MB RAM
--> 07:35 min
dell inspiron 8200, 1,8 GHz P4-M, 512 MB RAM
--> 11:39 min
apple powerbook 12", 1,33 GHz PowerPC, 1,25 GB RAM
--> 19:10 min
das sind schon fette unterschiede. wie erklärt man die am besten? hier im forum heißt es doch immer, die apples wären so schnell und würden aktuellen pentiums locker mithalten können.
ich rede jetzt nicht von workflow - einfach brutale rechnerleistung.
danke schon mal im voraus
kann es sein, daß das pb doch nicht sooo schnell ist, wie hier im forum und von apple immer propagiert?
die alten ägypter hatten eine eigene methode, wie man multipliziert. die habe ich mal in einem c++-programm umgesetzt (ich weiß, hätte man auch eleganter proggen können, aber darauf kommt es jetzt nicht an).
hier das listing:
/* Dieses Programm vergleicht die Ergebnisse
zwischen der Berechnung eines Produktes als Multipiliaton
und der "aegyptischen Methode" */
#include <iostream>
using namespace std;
int egypt (unsigned long int zahl1, unsigned long int zahl2)
{
unsigned long int summe = 0;
int check = 0;
check = zahl1%2;
if (check != 0)
summe += zahl2;
while (zahl1 != 1)
{
zahl1 = zahl1/2;
zahl2 = zahl2*2;
check = zahl1%2;
if (check != 0)
summe += zahl2;
}
return summe;
}
int main()
{
cout << "Bis zu welcher Zahl soll berechnet werden: " << endl;
int endstelle = 0;
cin >> endstelle;
int b = 1;
int fehlercount = 0;
while ( b != endstelle+1)
{
for (int a = 1; a != endstelle+1; ++a)
{
if ((a*b)!=(egypt(a,b)))
{
cout << "!!!!!!!!!! F E H L E R !!!!!!!!!!" << endl;
cout << "Die Berechnung funktioniert nicht fuer die Zahlen:" << endl;
cout << "a = " << a << " und b = " << b << endl;
cout << "Produkt: " << a*b << endl;
cout << "aegyptische Methode: " << egypt(a,b) << endl << endl;
++fehlercount;
}
}
cout << "Berechnung fuer b = " << b << " / " << endstelle << " abgeschlossen" << endl;
++b;
}
if (fehlercount == 0)
cout << endl << "Keine Fehler gefunden.... Methode stimmt!" << endl;
return 0;
}
man sieht, hier kommt es auf reine rechnerleistung an.
ich habe es mal auf 3 rechnern laufen lassen und als endwert 50.000 eingegeben:
samsung p30, 1,5 GHz Centrino, 512 MB RAM
--> 07:35 min
dell inspiron 8200, 1,8 GHz P4-M, 512 MB RAM
--> 11:39 min
apple powerbook 12", 1,33 GHz PowerPC, 1,25 GB RAM
--> 19:10 min
das sind schon fette unterschiede. wie erklärt man die am besten? hier im forum heißt es doch immer, die apples wären so schnell und würden aktuellen pentiums locker mithalten können.
ich rede jetzt nicht von workflow - einfach brutale rechnerleistung.
danke schon mal im voraus
Zuletzt bearbeitet von einem Moderator: