Warum gibt pow(5, 2) 24 zurück?
In Ihrem Taschenrechnerprogramm sind Sie mit einem unerwarteten Verhalten bei der Leistung konfrontiert Funktion. Während Sie erwarten, dass 5^2 gleich 25 ist, gibt pow(5, 2) 24 zurück. Diese Diskrepanz entsteht durch die Datentypbehandlung der Funktion pow().
Die Funktion pow() gibt Gleitkomma zurück. Punktzahlen. In Ihrem speziellen Fall gibt pow(5, 2) tatsächlich 24,99997 oder einen ähnlichen Gleitkommawert zurück. Da Sie das Ergebnis jedoch einer Ganzzahlvariablen zuweisen, wird es auf die nächste Ganzzahl gekürzt, was 24 ergibt.
Um dieses Problem zu beheben, gibt es zwei Überlegungen:
Rundung vs. Kürzung: Für die Potenzfunktion empfiehlt es sich, das Gleitkommaergebnis auf die nächste ganze Zahl zu runden. Dadurch wird Genauigkeit gewährleistet, ohne dass Rundungsfehler entstehen. Sie können dies erreichen, indem Sie 0,5 zum Ergebnis addieren, bevor Sie es der ganzzahligen Variablen zuweisen:
int answer; answer = pow(number1,number2)+0.5;
Das obige ist der detaillierte Inhalt vonWarum gibt „pow(5, 2)' 24 statt 25 zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!