Mein Computer wurde blöd. 0 + 20 = 19.921875 !!! Hilf mir!

8

Sie wissen, dass es nervt, wenn Ihr Computer keine Summe mehr bekommen kann!

Ich habe nicht die leiseste Ahnung, warum das passiert:

%Vor%

Ausgabe ist:

%Vor%

19.921875 sollte 20 sein! : (

Ich werde weinen. Hat mein Prozessor Krebs? Alzheimer? Wer sagt, dass Computer keine Fehler machen?

P.S. Ich benutzte auch aClip._alpha = Math.round (aClip._alpha) aber die Spur war die gleiche!

    
navand 30.07.2010, 16:35
quelle

5 Antworten

23

_alpha Werte werden als ein Byte gespeichert (ich würde sagen, 8 Bits - ein ganzzahliger Wert von 0 bis 255 )

Wenn Sie einen _alpha -Wert festlegen, verwenden Sie einen Prozentsatz. Wenn Sie es abrufen, gibt es eine genaue dezimale Darstellung des Prozentsatzes.

%Vor%

20% von 256 ist 51.2 , da es als Ganzzahl gespeichert ist, wird es auf 51 gesetzt.

Dann,

51 / 256 * 100 ist die Art und Weise, wie Flash es Ihnen zurückgibt, nämlich 19.921875 .

    
Bertrand Marron 30.07.2010, 17:00
quelle
1

Abrunden scheint es

    
user406871 30.07.2010 16:59
quelle
0

Wenn ich mich recht erinnere, speichert Flash intern Alpha mit einem seltsamen, verrückten Wert, etwa 0..240 (ich glaube nicht, dass es 255 ist). Könnte es sein, dass es 20 ist, um 20% zu sein, und nach der Rundung, 19,92 ist der nächste Wert, wenn es wieder in einen Prozentsatz umgewandelt wird?

    
izb 30.07.2010 16:39
quelle
0

Das "Floating-Problem" trat auch in der Komponenteneigenschaftsbox in Flash CS5 auf. Nach einer Neuinstallation scheint CS5 verrückt nach Komponenteneigenschaften zu sein und gibt nach der Eingabe von 20 20.00001 an.

Aktualisieren Sie Ihre Software dank Adobe Application Manager, um dieses Problem zu beheben.

    
lvictorino 18.05.2011 12:40
quelle
-1

Unabhängig von der Gültigkeit anderer Antworten gibt es bekannte und gut dokumentierte Artefakte der Fließkomma-Implementierung, die unter anderem Adobe Flash Player verwendet. Der folgende Code erzeugt zum Beispiel eine leicht falsche Ausgabe von 1.0010000000000001 : (falls es in der Mathematik so etwas gibt):

%Vor%

All dies ist, wie gesagt, Teil der Implementierung einer IEEE-Gleitkomma-Spezifikation.

    
amn 01.08.2010 10:07
quelle