C: Signum-Funktion
Mit einer Signum-Funktion, auch Vorzeichenfunktion genannt, kann das Vorzeichen einer Zahl ermittelt werden. Das folgende Beispiel zeigt Signum-Funktionen für die Datentypen int, long, float und double.
int signum(int value)
{
return (value>0)?1:((value<0)?-1:0);
}
int signum(long value)
{
return (value>0)?1:((value<0)?-1:0);
}
int signum(float value)
{
return (value>0)?1:((value<0)?-1:0);
}
int signum(double value)
{
return (value>0)?1:((value<0)?-1:0);
}
{
return (value>0)?1:((value<0)?-1:0);
}
int signum(long value)
{
return (value>0)?1:((value<0)?-1:0);
}
int signum(float value)
{
return (value>0)?1:((value<0)?-1:0);
}
int signum(double value)
{
return (value>0)?1:((value<0)?-1:0);
}
Die Signum-Funktion liefert bei den folgenden Werten die entsprechenden Rückgabewerte.
value > 0 ==> 1
value < 0 ==> -1
value == 0 ==> 0
value < 0 ==> -1
value == 0 ==> 0
Wie Sie sehen, wird in jeder Signum-Funktion der folgende Code eingesetzt.
(value>0)?1:((value<0)?-1:0)
Eine ausführlichere Schreibweise dieser Zeile zeigt das folgende Listing. Ich denke damit dürfte schnell verständlich werden was diese Codezeile bewirkt.
if (value>0)
{
return 1;
}
else
{
if (value<0)
{
return -1;
}
else
{
return 0;
}
}
{
return 1;
}
else
{
if (value<0)
{
return -1;
}
else
{
return 0;
}
}
Dieser Eintrag wurde am 20.11.2016 erstellt.
Direkter Link zu dieser Seite: http://www.gtkdb.de/index_38_2852.html
[ Zur Startseite ] [ Zur Kategorie ]
© 2004-2021 by Georg Kainzbauer