Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Zły wynik konwersji pierwiastka 3 stopnia
mundeck
post
Post #1





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 2.09.2012

Ostrzeżenie: (0%)
-----


Mam taki kod:

  1. for ($i=0; $i <30 ; $i++) {
  2. var_dump(pow(pow($i, 3), 1/3));
  3. var_dump((int) pow(pow($i, 3), 1/3));
  4. echo "<br>";
  5. }


Daje on taki wynik:

float(0) int(0)
float(1) int(1)
float(2) int(2)
float(3) int(3)
float(4) int(3)
float(5) int(4)
float(6) int(5)
float(7) int(6)
float(8) int(7)
float(9) int(8) itd.

Na mój chłopski rozum, pierwiastek z 3 stopnia dowolnej potęgi 3 stopnia z danej liczby daję tę właśnie liczbę, niezależnie od tego, do jakiego typu jest konwertowana. A tutaj począwszy od 4 widoczna jest różnica. Przy konwersji zachodzi jakby odjęcie 1 od wyniku. I to tylko przy wykładniku 1/3, sprawdzałem dla innych i działa poprawnie. O co może chodzić?
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 17:53