pow
pow($zaklad, $exponent)
Vrátí základ umocněný na exponent. Totéž dělá operátor **. Pro celá čísla vrací celé číslo, dokud se výsledek vejde do jeho rozsahu, jinak desetinné číslo.
Parametry
- $zaklad – umocňované číslo.
- $exponent – mocnina. Může být záporná i zlomková.
Příklady
echo pow(2, 10); // 1024 // totéž operátorem echo 2 ** 10; // 1024 // zlomkový exponent je odmocnina echo pow(9, 0.5); // 3 // záporný exponent je převrácená hodnota echo pow(2, -1); // 0.5 // typ výsledku podle vstupu var_dump(pow(2, 3)); // int(8) var_dump(pow(2.0, 3)); // float(8) // výsledek mimo rozsah celého čísla se změní na desetinné číslo var_dump(is_float(pow(2, 64))); // bool(true) // složené úročení: 1000 Kč na 3 roky s úrokem 5 % echo round(1000 * pow(1.05, 3), 2); // 1157.63 // operátor ^ není mocnina, ale bitová operace XOR echo 2 ^ 10; // 8 // umocnění má přednost před znaménkem minus echo -2 ** 2; // -4 echo (-2) ** 2; // 4 // záporný základ se zlomkovým exponentem nemá reálný výsledek var_dump(is_nan(pow(-8, 1 / 3))); // bool(true)
Na co si dát pozor
- Znak ^ v PHP neznamená mocninu, ale bitovou operaci XOR. Zápis 2 ^ 10 dá 8, ne 1024.
- Velké výsledky se změní na desetinné číslo a ztratí přesnost. Přesné počty s velkými čísly dělá bcpow() z rozšíření BCMath nebo rozšíření GMP.
- Operátor ** má přednost před znaménkem: -2 ** 2 je -4. Záporný základ dejte do závorky.
- Výsledek, který není reálné číslo, je NAN. Pozná ho jen is_nan(), porovnání s čímkoli vrací false.