Bekijk Volledige Versie : PHP - Machtsverheffen
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
> http://nl.php.net/pow
Dank je wel!
Martijn
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
> 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
"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