| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #3 (permalink) |
| Neuer User Registriert seit: Jun 2001 Ort: Zürich
Beiträge: 1.776
|
interessant. ich dachte immer, dass die floating-point-toleranzen daher kämen, dass intere rundungsfehler auftreten, die aber bei addition oder subtraktion dann keine rolle spielen. was ich dann bemerkenswert finde, ist, dass jedenfalls trace (392.39201-392.39201); richtig ausgewertet wird... ActionScript:
|
| | |
| | #4 (permalink) |
| [+] Registriert seit: Dec 2002 Ort: cologne
Beiträge: 2.271
|
Letztendlich wird jede Zahl in Flash als 64Bit Float umgerechnet. Dabei passieren Rundungsfehler, die Rechnenoperation als solches ist egal. trace (392.39201-392.39201); wird aber offensichtlich anders behandelt. Generell macht das schon der Compiler, soweit ich weiss. |
| | |
| | #6 (permalink) |
| helpQLODhelp Registriert seit: Feb 2002 Ort: Köln
Beiträge: 8.505
|
Sehr schönes Beispiel Thorben. Wenn wir davon ausgehen, dass dieser Wert vom Compiler berechnet wird, sieht man daran, dass das Problem mitnichten flashspezifisch ist, sondern auch in normalen Exen auftritt. Es ist einfach ein Fakt, dass Fliesskommazahlen auf Computern nicht genau sind. Davon abgesehen kannst du die Zahlen hinter dem Komma mit mod 1 herausbekommen. mfg r.
__________________ Ralf Bokelberg™ - Flex & Flash Consulting |
| | |
| | #7 (permalink) |
| Neuer User Registriert seit: Jun 2001 Ort: Zürich
Beiträge: 1.776
|
@bokel: aber hallo! andre michelle hat's ja schon gepostet: trace ( 392.39201 % 1 ); edit: entschuldigung! du wolltest wahrscheinlich nur sagen, dass sich der aufwand mit der funktion nicht lohnt... Geändert von fresh (19-08-2003 um 16:16 Uhr) |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |