frexp4
-
Hallo zusammen!
Ich häng grad an nem Problem:
Wir sollen im Studium ne Funktion frexp4 erstellen, die unter Verwendung von frexp eine reelle Zahl a!=0 in b*4^n mit n aus ZZ und 0,25 <= |b| < 1 zerlegt. n soll auch hier wie in frexp als Zeiger zugänglich sein.
Meiner Meinung nach habe ich die Aufgabe größtenteils gelöst, mir wird nur immer der Zeiger 0 zurückgegeben anstatt - beim Beispiel frexp(4,&n) - 2.
Könnt ihr mir da weiterhelfen, was ich falsch gemacht hab???
Merci
ach ja ... der Code wäre noch nicht schlecht:
double frexp4 (double a, int *zp) { int z; double b; b = frexp(sqrt(fabs(a)),&z); b=b*b; if (a<0) { b=-b; } zp=&z; return b; }
-
Versuchs mal so:
*zp=z;
anstatt
zp=&z;
Du musst nicht die Adresse von z zp zuweisen, du muss z der In zp schreiben!
-
es könnte so gehen:
double frexp4 (double a, int *zp) { double b = frexp(sqrt(fabs(a)),zp); b=b*b; if (a<0) b=-b; return b; }
-
Merci für die schnelle Hilfe
Mit *zp=z; funktionierts
liebe Grüße,
Winnie