Differenz von a und b ohne Vorzeichen darstellen?
-
Bashar schrieb:
Dann schreibt man sich eine Funktion (oder auf nem Steinzeit-µC ein Makro *g*) die (bzw. das) das tut.
...und die kann man ja 'abs()' taufen
-
net schrieb:
Bashar schrieb:
Dann schreibt man sich eine Funktion (oder auf nem Steinzeit-µC ein Makro *g*) die (bzw. das) das tut.
...und die kann man ja 'abs()' taufen
und dann sofort intrinsic machen.
wir sollten das am besten mal den compilerbauern vorschlagen.
-
Ich stimme net zu. Anfang wollte sicher wissen wie es funkt. Was abs() macht kann man auch in einer Hilfe oder bei Google nachlesen.
-
Bashar schrieb:
net: Dass es eine Funktion namens abs gibt, die genau das tut.
ich dachte sie gibt den betrag eines integers zurück und nicht den betrag der differenz zweier integers.
-
nore schrieb:
ich dachte sie gibt den betrag eines integers zurück und nicht den betrag der differenz zweier integers.
Das muss man nicht kommentieren, oder?
-
nore schrieb:
Bashar schrieb:
net: Dass es eine Funktion namens abs gibt, die genau das tut.
ich dachte sie gibt den betrag eines integers zurück und nicht den betrag der differenz zweier integers.
hast ja recht. ein 'abs' wär dann ungefähr sowas:
#define MEIN_ABS(a) (a<0 ? -a : a)
-
nore schrieb:
ich dachte sie gibt den betrag eines integers zurück und nicht den betrag der differenz zweier integers.
Der war gut.
-
ok, sorry. ich tu's nie wieder.
-
[code]
int abs(int a) {
return a&0x7FFFFFFF;
}
[quote]
-
Die Funktion macht die Annahme, dass
- int 32bit gross ist
- für negative Darstellung "sign- and magnitude" Darstellung verwendet wird.
Zumindest letzteres ist eher selten.