^2 in c++

foxo

Cadet 4th Year
Registriert
Okt. 2006
Beiträge
118
a * b / c * (d / e)²
So hätte ich es gerne aber so geht es nicht
weiss jemand wie ich das schreiben muss?
Falls ihr damit noch nicht genug anfangen könnt
kann ich auch noch mehr posten.

Danke schonmal im voraus
 
Ich nehme mal an, dass das nicht immer klappt. Probiere es einfach aus, ob das dein Compiler abkann. Generell würde ich eher auf ^2 tippen, dass das funktioniert, als das ².

Oder umgeh solche Verlegenheiten, indem du einfach statt a^2 a*a schreibst...

Hast ein schönes Beugungsscheibchen als Avatar...
 
Wenn es nur beim ^2 bleibt dann mach doch ein (d/e)*(d/e) daraus.
Bzw. ein (d*d)/(e*e).

Falls die Potenz mal größer als 2 sein sollte, dann schau dir die Funktion pow(...) an.

Ach ja:
Das ^ ist ein binärer Operator und steht für XOR. Als für solche Mathe nicht zu gebrauchen ;).
 
Zuletzt bearbeitet:
Jo cool danke das mit (a / b)*(a / b) geht sehr gut! :)
 
pow arbeitet aber auf doubles. Zumindest in zeitkritischen Schleifen ist das bei Integer-Operationen ein großer Overhead. (Konvertierung int -> double, in die FPU prügeln, rechnen, zurück aus der FPU, nach int wandeln) Dafür dass das 3 superbillige Operationen in der CPU sind, ist das ein großer Unterschied (wenn es dafür nicht sogar fertige MMX/SSE-Befehle gibt). Also sofern man nur reine Integer-Arithmetik braucht, sollte man bei (d*d)/(e*e) bleiben.
 
Naja, aber ich denk mal, es gestaltet sich etwas schwierig, z.B. ^3.5 ohne pow auszurechnen. Bei ^2 schreibt man natürlich nur x*x, aber es ist trotzdem gut zu wissen, dass es eine solche Funktion gibt(bevor man noch "^3.5" in den Code schreibt...)
 
Zurück
Oben