downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

rad2deg> <pi
Last updated: Fri, 13 Nov 2009

view this page in

pow

(PHP 4, PHP 5)

powPotência

Descrição

number pow ( number $base , number $exp )

Retorna a base elevada ao expoente exp .

Aviso

No PHP 4.0.6 e anteriores pow() sempre retorna um float, e não emitia avisos.

Parâmetros

base

A base para usar

exp

O expoente

Valor Retornado

base raiz para potência de exp . Se o resultado pode ser representado como inteiro, será retornado como tipo integer, senão retornará como tipo float. Se a potência não pode ser computado, FALSE será retornado.

Histórico

Versão Descrição
Since 4.0.6 A função irá agora retornará resultados integer se possível, antes disto sempre retornava um resultado float. Para antigas versões, você pode receber um resultado falso para números complexos.
Since 4.2.0 PHP parou de emitir um aviso se o valor não pode ser computado, irá agora silenciosamento somente retornar FALSE.

Exemplos

Exemplo #1 Alguns exemplos de pow()

<?php

var_dump
pow(2,8) ); // int(256)
echo pow(-1,20); // 1
echo pow(00); // 1

echo pow(-15.5); // PHP >4.0.6  NAN
echo pow(-15.5); // PHP <=4.0.6 1.#IND
?>

Veja Também

  • exp() - Calcula o expoente de e
  • sqrt() - Raiz quadrada
  • bcpow() - Elevar um número de precisão arbitrária a outro
  • gmp_pow() - Potenciação



rad2deg> <pi
Last updated: Fri, 13 Nov 2009
 
add a note add a note User Contributed Notes
pow
Matt Dudley
16-Jul-2008 10:14
Calculate wind chill based on the National Weather Service formula.

$temp = 25;
$wind_speed_mph = 6;

$wind_chill = 35.74+(.6215*$temp_f)-(35.75*(pow($wind_speed_mph, 0.16)))+(.4275*$temp_f*(pow($wind_speed_mph, 0.16)));

Value only valid when the temp is 45 or below.... I used this with a weather script I wrote that reads an xml file. They don't provide wind chill.
Docey
04-May-2007 05:33
no integer breaking here, pow just silently switches to using floats instead of integers.

pow(2, 31) = integer value
pow(2, 32) = float value.

the manual says the limit for floats is machine dependent so i did a little loop to see how far it will go before becomming infinit. the result is 1023.

pow(2, 1023) = float
pow(2, 1024) = ifinit.

tested on php 4.4.1 under windows2000 on an AMD AthlonXP 2800+.
gilthansREMOVEME at gmail dot com
15-Dec-2006 03:50
Note that pow(0, 0) equals to 1 on PHP 4 (only tested it there), although mathematically this is undefined.
moikboy (nospam) moikboy (nospam) hu
10-May-2006 08:27
Here is a function for calculating the $k-th root of $a :

<?php
function root($a,$k){return(($a<0&&$k%2>0)?-1:1)*pow(abs($a),1/$k);};
?>
louis [at] mulliemedia.com
31-Dec-2004 04:02
Here's a pow() function that allows negative bases :
<?php
function npow($base, $exp)
{
   
$result = pow(abs($base), $exp);
    if (
$exp % 2 !== 0) {
       
$result = - ($result);
    }
    return
$result;
}
?>
janklopper .AT. gmail dot.com
10-Nov-2004 02:26
since pow doesn't support decimal powers, you can use a different sollution,

thanks to dOt for doing the math!

a^b = e^(b log a)
which is no the 10log but the e-log (aka "ln")

so instead of: pow( $a , 0.6 ) use something like: exp( 0.6 * log($a) )
matthew underscore kay at ml1 dot net
18-Mar-2004 07:03
As of PHP5beta4, pow() with negative bases appears to work correctly and without errors (from a few cursory tests):

pow(-3, 3) = -27
pow(-3, 2) = 9
pow(-5, -1) = -0.2
bishop
18-Jul-2003 03:01
A couple of points on pow():
1. One of the official examples of pow(2,8) is not pragmatic; use 1 << 8 as it's substantially faster
2. When passing variables to pow(), cast them otherwise you might get warnings on some versions of PHP
3. All the rules of algebra apply: b**(-e) is 1/(b**e), b**(p/q) is the qth root of b**p

So, e.g., sqrt($x) === pow($x, .5); but sqrt() is faster.

rad2deg> <pi
Last updated: Fri, 13 Nov 2009
 
 
show source | credits | sitemap | contact | advertising | mirror sites