PDA

Bekijk Volledige Versie : PHP - Machtsverheffen



Martijn
04/10/04, 08:45
Hoi,

ik zit met een probleempje waar ik niet uitkom. Ik heb een formule waarvoor
ik een waarde wil machtsverheffen. Als voorbeeld wil ik het kwadraat van 5:

$waarde = 5 ^ 2;
echo $waarde;

De uitkomst hiervan is 7 in plaats van 25. Hoe los ik dit op?

Bij voorbaat dank,

Martijn

Nico Schuyt
04/10/04, 09:05
Martijn wrote:
> Hoi,
>
> ik zit met een probleempje waar ik niet uitkom. Ik heb een formule
> waarvoor ik een waarde wil machtsverheffen. Als voorbeeld wil ik het
> kwadraat van 5:

http://nl.php.net/pow

--
Nico
www.nicoschuyt.nl

Martijn
04/10/04, 09:25
> http://nl.php.net/pow

Dank je wel!

Martijn

Wimjan
04/10/04, 15:35
Nico Schuyt schreef:
> Martijn wrote:
> > Hoi,
> >
> > ik zit met een probleempje waar ik niet uitkom. Ik heb een formule
> > waarvoor ik een waarde wil machtsverheffen. Als voorbeeld wil ik het
> > kwadraat van 5:
>
> http://nl.php.net/pow
>
> > $waarde = 5 ^ 2;
> > echo $waarde;
> >
> > De uitkomst hiervan is 7 in plaats van 25. Hoe los ik dit op?
>
Ter aanvulling: op
<http://nl.php.net/manual/nl/language.operators.bitwise.php> kun je lezen
waarom je jouw resultaat kreeg.


Groet,

Wimjan

--
Sleet is van vroeger, tegenwoordig gaat alles kapot.

John Bokma
04/10/04, 20:55
"Nico Schuyt" <nschuyt@hotmail.com> wrote in news:4160f447$0$45949$a344fe98
@news.euronet.nl:

> http://nl.php.net/pow

Let op dat pow soms onnauwkeuriger en wellicht trager werkt * voor
(eenvoudig) machtsverheffen. Ik gok dat PHP niet zo slim is om pow met 2 te
herschrijven, intern

Dus kwadraat = x * x;

--
John Voorbeeldscripts in Perl:http://johnbokma.com/perl/
Website design: http://johnbokma.com/websitedesign/
Ervaren Perl / Java programmeur beschikbaar: http://castleamber.com/
Tevreden opdrachtgevers: http://castleamber.com/testimonials.html

Martijn
04/10/04, 23:25
> Dus kwadraat = x * x;

Dat is bij een kwadraat inderdaad goed zo op te lossen alleen is dit de
functie die ik gebruik:

maandbedrag = totaalbedrag*((1-((1+rente/12)^-maanden))/(rente))^-1

De pow() functie lijkt voor deze formule in ieder geval goed te werken en
geeft resultaten die overeenkomen met de daarvoor bestemde calculatoren. In
welke zin zou deze functie onnauwkeurig kunnen zijn?

Martijn

John Bokma
05/10/04, 03:15
"Martijn" <vwdes@planetGEENSPAM.nl> wrote in
news:cjsetr$t2$1@reader10.wxs.nl:

>> Dus kwadraat = x * x;
>
> Dat is bij een kwadraat inderdaad goed zo op te lossen alleen is dit
> de functie die ik gebruik:

Ah, zo zie je maar, geef nooit een voorbeeld uit je duim (5 ^ 2), maar
echte code :-D

> maandbedrag = totaalbedrag*((1-((1+rente/12)^-maanden))/(rente))^-1
>
> De pow() functie lijkt voor deze formule in ieder geval goed te werken
> en geeft resultaten die overeenkomen met de daarvoor bestemde
> calculatoren. In welke zin zou deze functie onnauwkeurig kunnen zijn?

Omdat x tot de macht y vaak wordt berekend door e tot de macht (y ln x) uit
te rekenen. Het kan dus zijn dat je uit bv 5 tot de macht 2 iets als
32.00000000000000000001 krijgt.

--
John Voorbeeldscripts in Perl:http://johnbokma.com/perl/
Website design: http://johnbokma.com/websitedesign/
Ervaren Perl / Java programmeur beschikbaar: http://castleamber.com/
Tevreden opdrachtgevers: http://castleamber.com/testimonials.html

PietHein
05/10/04, 11:05
"John Bokma" <postmaster@castleamber.com> wrote in message
news:Xns9578CDB91A411castleamber@130.133.1.4...
> "Martijn" <vwdes@planetGEENSPAM.nl> wrote in
> news:cjsetr$t2$1@reader10.wxs.nl:
>
>>> Dus kwadraat = x * x;
>>
>> Dat is bij een kwadraat inderdaad goed zo op te lossen alleen is dit
>> de functie die ik gebruik:
>
> Ah, zo zie je maar, geef nooit een voorbeeld uit je duim (5 ^ 2), maar
> echte code :-D
>
>> maandbedrag = totaalbedrag*((1-((1+rente/12)^-maanden))/(rente))^-1
>>
>> De pow() functie lijkt voor deze formule in ieder geval goed te werken
>> en geeft resultaten die overeenkomen met de daarvoor bestemde
>> calculatoren. In welke zin zou deze functie onnauwkeurig kunnen zijn?
>
> Omdat x tot de macht y vaak wordt berekend door e tot de macht (y ln x)
> uit
> te rekenen. Het kan dus zijn dat je uit bv 5 tot de macht 2 iets als
> 32.00000000000000000001 krijgt.

Dan lijkt het me hoogtijd voor een bug-report. Niet voor het (minimale)
verschil van 0,00000000000000000001 maar wel het verschil van 32-25 = 7

groet Piet Hein

Robrecht Jacques
05/10/04, 11:25
John Bokma wrote:
> "Martijn" <vwdes@planetGEENSPAM.nl> wrote in
> news:cjsetr$t2$1@reader10.wxs.nl:
>>De pow() functie lijkt voor deze formule in ieder geval goed te werken
>>en geeft resultaten die overeenkomen met de daarvoor bestemde
>>calculatoren. In welke zin zou deze functie onnauwkeurig kunnen zijn?
>
> Omdat x tot de macht y vaak wordt berekend door e tot de macht (y ln x) uit
> te rekenen. Het kan dus zijn dat je uit bv 5 tot de macht 2 iets als
> 32.00000000000000000001 krijgt.

5 ^ 2 ~= 32 ?? Lijkt me inderdaad onnauwkeurig :-)

Robrecht

John Bokma
05/10/04, 23:15
"PietHein" <piethein@WELLICHTVERWIJDERENphavorite.nl> wrote in

[ 5 in het kwadraat ]

> Dan lijkt het me hoogtijd voor een bug-report. Niet voor het (minimale)
> verschil van 0,00000000000000000001 maar wel het verschil van 32-25 = 7

:$ LOL!

--
John Voorbeeldscripts in Perl:http://johnbokma.com/perl/
Website design: http://johnbokma.com/websitedesign/
Ervaren Perl / Java programmeur beschikbaar: http://castleamber.com/
Tevreden opdrachtgevers: http://castleamber.com/testimonials.html

John Bokma
05/10/04, 23:15
Robrecht Jacques <Robrecht.Jacques@advalvas.be> wrote in
news:41626779$0$10412$ba620e4c@news.skynet.be:

> John Bokma wrote:
>> "Martijn" <vwdes@planetGEENSPAM.nl> wrote in
>> news:cjsetr$t2$1@reader10.wxs.nl:
>>>De pow() functie lijkt voor deze formule in ieder geval goed te
>>>werken en geeft resultaten die overeenkomen met de daarvoor bestemde
>>>calculatoren. In welke zin zou deze functie onnauwkeurig kunnen zijn?
>>
>> Omdat x tot de macht y vaak wordt berekend door e tot de macht (y ln
>> x) uit te rekenen. Het kan dus zijn dat je uit bv 5 tot de macht 2
>> iets als 32.00000000000000000001 krijgt.
>
> 5 ^ 2 ~= 32 ?? Lijkt me inderdaad onnauwkeurig :-)

Dat zeg ik ;-)

--
John Voorbeeldscripts in Perl:http://johnbokma.com/perl/
Website design: http://johnbokma.com/websitedesign/
Ervaren Perl / Java programmeur beschikbaar: http://castleamber.com/
Tevreden opdrachtgevers: http://castleamber.com/testimonials.html