Du hattest doch geschrieben (s.o):
x = (double) tan( ( double ) 70 );
heißt das, beim GCC funktioniert casting nicht ?
Druckbare Version
Du hattest doch geschrieben (s.o):
x = (double) tan( ( double ) 70 );
heißt das, beim GCC funktioniert casting nicht ?
bei mir funktioniert das casting mit dem gcc schon, ich verwende aber nur ganze Zahlen
vielleicht liegts auch daranalso gehts vielleicht, wenn man nach float castet, ist aber nur ne VermutungZitat:
Übrigens implementiert die avr-libm nur den SFmode (also float)
Dann hat aber die h-file nicht zu der Lib dazugepaßt. Ah so.
Doch die Header passen schon zur Implementierung der libm. Nur ist die Genauigkeit eben nicht die, wie man sie von double gewohnt ist, sondern nur die von float.Zitat:
Zitat von PicNick
Moment, macht mich nicht wirre:
Function prototype (z.B):
Zitat:
double tan( double zahl );
Gibt's nur eine Erklärung:Zitat:
hmmm,
aber
x = (double) tan( ( double ) 1.0 );
gibt er auch 0 aus....
Er hat ( double ) 1.0 gecastet, d.h. 8 Byte
d.s. im Intel-Format (Low sign. first)
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x3f
das gibt nur NULL, wenn er jetzt nur das single (float) davon liest, also die ersten 4
0x00, 0x00, 0x00, 0x00
und das entspricht single 0.0
und dann ist der tangens auch null
also ---> function prototype <nix passt> library
edit : mit gewohnheit hatt das nix zu tun
Vielleicht geht's ja einfach mit float?
Zitat:
Zitat von gcc-3.4.4/gcc/config/avr/avr.h
Ziemlich einheitlich.Zitat:
Zitat von avr.h
Ich nehm' mal davon mit, daß da einige Fallstricke gespannt sind. Vorsicht scheint angebracht. Na ja.
So schlimm ist's gar nicht. Man muss nur in Gedanken alle "double" zu "float" machen, dann stimmt wieder alles und man kann ganz normal damit arbeiten.Zitat:
Zitat von PicNick
MfG Kjion
Ich sag jetzt aber lieber nix.Zitat:
Zitat von Kjion
hi,
wie groß wird der zeiger überhaupt auf dem display?
er müsste schon ziemlich groß sein dass sich die verwendung der sin und cos funktionen lohnt; der avr kann nämlich nur software-floating point berchnungen,
bei den tinys wird selbst die multiplikation softwaremäßig gemacht