Betrag einer Zahl
-
Hallo,
Ich hab ne ganz einfache Frage möchte den Betrag einer Zahl als Bedingung für if(Bedingung)
Wie bekomme ich den Betrag einer Zahl???
Danke
Quido
-
Hallo,
#include <cmath>
und dann die freie Auswahl unter den Funktionen (je nach Datentyp):
std::abs
std::fabs
std::labsusw...deine Compiler/C++ - Doku oder ein Buch werden dir mehr dazu sagen...
MfG
-
Da std::abs eine Templatefunktion ist, kann man sie für alle Typen verwenden.
Für C trifft das mit labs etc. aber zu.
MfG MAV
-
die Funktionen aus der std sind aber afaik nicht inline. D.h. dass man sich für so eine kleine Aufgabe das lieber selber schreibt.
inline int abs(int num) { return( num >= 0 ? num : -num ) }
-
Wundert mich jetzt, aber du hast Recht, das ist in der Tat nicht inline.
-
Als ob es den Compiler irgendwie interessieren würde, wenn dort ein inline steht
-
Auch wahr...
-
Ich würde da eher erstmal benchmarken bevor ich ein eigenes abs schreibe...
-
Theston schrieb:
Als ob es den Compiler irgendwie interessieren würde, wenn dort ein inline steht
hmm, darf ich fragen warum
-
Compiler sind in der Lage, selbstständig zu entscheiden, ob eine Funktion inline sein soll, sie prüfen, ob dies einen Performancegewinn gibt, und setzen dann eine zuvor normale Funktion beim kompilieren als inline.