Aktueller Standort: Startseite> Neueste Artikel> Beachten! So verhindern Sie Fallen, die durch einen schwebenden Punktfehler bei der Verwendung von Rad2DEG verursacht werden können

Beachten! So verhindern Sie Fallen, die durch einen schwebenden Punktfehler bei der Verwendung von Rad2DEG verursacht werden können

gitbox 2025-09-12
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Der folgende Inhalt hat nichts mit dem Thema des Artikels zu tun,Kann jeder seinPHPCode</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Starten Sie die Verarbeitungsdaten...\n"</span></span><span>;
</span><span><span class="hljs-variable">$dummyArray</span></span><span> = </span><span><span class="hljs-title function_ invoke__">range</span></span><span>(</span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-number">5</span></span><span>);
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$dummyArray</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$value</span></span><span>) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Verarbeitung von Elementen: <span class="hljs-subst">$value</span></span></span><span>\n";
}
</span><span><span class="hljs-meta">?></span></span><span>

<hr>

</span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Der Artikel beginnt</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<h1>Beachten!verwenden rad2deg Wie man Fallen verhindern, die durch schwimmende Punktfehler verursacht werden</h1>"</span></span><span>;

</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<p>existieren PHP Mitte,<code>rad2deg()
" ; Echo "

An der Oberfläche scheint dies sehr einfach, aber bei tatsächlichen Berechnungen können schwimmende Punktfehler zu einigen subtilen Problemen führen.

" Echo "

Quelle des schwimmenden Punktfehlers

"
; Echo "

Schwimmpunkte können nicht alle Dezimalstellen in einem Computer genau darstellen, sie können normalerweise nur einem Wert angehen. Dies bedeutet:

"
; Echo "
\N"
; Echo "Echo rad2deg (pi ()); // erwartet 180, tatsächlich möglich 179.999999999999999999999999997 \ n" ; Echo "" ; Echo "

Dieser geringfügige Fehler kann zu logischen Fehlern führen, wenn Sie Winkel vergleichen oder bedingte Urteile fällen.

"
; Echo "

Wie man Probleme verhindern, die durch schwimmende Punktfehler verursacht werden

"
; Echo "
    "
; Echo "
  • Rundung verwenden: Wenn genaue Ganzzahlwinkel erforderlich sind, verwenden Sie rund () :
  • "
    ; Echo "
    \N"
    ; Echo "\ $ degrees = rund (rad2deg (pi ()); // Das Ergebnis ist 180 \ n" ; Echo "" ; Echo "
  • Verwenden Sie Toleranzvergleich: Verwenden Sie nicht das gleiche Vorzeichen, um die schwimmenden Punktzahlen direkt zu vergleichen, sondern verwenden Sie einen Bereich, der Fehler ermöglicht:
  • "
    ; Echo "
    \N"
    ; Echo "\ $ epsilon = 0,00001; \ n" ; Echo "if (ABS (rad2deg (pi ()) - 180) <\ $ epsilon) {\ n" ; Echo "Echo 'ca. 180 Grad'; \ n" ; Echo "}\N" ; Echo "" ; Echo "
  • Halten Sie die Radianberechnung, verzögern Sie die Konvertierung: Wenn möglich, versuchen Sie, alle mathematischen Operationen bei Radians abzuschließen, und konvertieren Sie nur, wenn das endgültige Display angezeigt wird:
  • "
    ; Echo "
    \N"
    ; Echo "\ $ anglerad = pi () / 4; \ n" ; Echo "\ $ resultrad = sin (\ $ anglerad) + cos (\ $ anglerad); \ n" ; Echo "\ $ resultDeg = rad2deg (\ $ anglerad); // Letzte Konvertierung \ n" ; Echo "" ; Echo "" ; Echo "

    Zusammenfassung

    "
    ; Echo "

    Bei der Verwendung von rad2deg () sind Floating-Punkt-Fehler unvermeidlich, aber durch Rund- , Toleranzvergleichs- oder Verzögerungsumwandlung können logische Probleme, die durch diese Fehler verursacht werden, wirksam verhindert werden. Sorgfältiger Umgang mit Gleitpunktzahlen ist der Schlüssel, um die Richtigkeit mathematischer Berechnungen zu entfernen.

    " ?> <?php // Der folgende Inhalt hat nichts mit dem Artikelthema zu tun und kann jeder PHP -Code sein Echo "

    Der Artikel wird verarbeitet.

    "
    ; ?>