Was ist die kleinste positive Gleitkommazahl ungleich Null in Perl?

Ich habe ein Programm in Perl, das mit Wahrscheinlichkeiten arbeitet, die gelegentlich sehr klein sein können. Aufgrund von Rundungsfehlern wird manchmal eine der Wahrscheinlichkeiten zu Null. Ich möchte Folgendes überprüfen:

use constant TINY_FLOAT => 1e-200;
my $prob = calculate_prob();
if ( $prob == 0 ) {
    $prob = TINY_FLOAT;
}

Das funktioniert gut, aber ich sehe, dass Perl Zahlen produziert, die kleiner als 1e-200 sind (ich habe gerade gesehen, wie ein 8.14e-314 vorbeigeflogen ist). Für meine Anwendung kann ich berechne_prob () so ändern, dass es das Maximum von TINY_FLOAT und die tatsächliche Wahrscheinlichkeit zurückgibt. Dies hat mich jedoch neugierig gemacht, wie Gleitkommazahlen in Perl behandelt werden.

Was ist der kleinste positive Gleitkommawert in Perl? Ist es plattformabhängig? Wenn ja, gibt es ein schnelles Programm, mit dem ich es auf meinem Computer herausfinden kann?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage