Ik heb een scriptje geschreven om de faculteit te berekenen van een willekeurig getal.
Vb. 6! = 6*5*4*3*2*1 = 720

Nu het probleem is, als ik grotere getallen ga nemen geeft het mijn uitkomst in een machtswortel weer.
Vb. 20! = 2.4329020081766E+18

Is er een oplossing om dit in volle getallen weer te geven?

Faculteit.php

<html>
<head>
</head>
<body>
<center>
<form name="faculteit" method="post" action="faculteit2.php">
<p>Voer hier het getal in waarvan je de faculteit wilt berekenen.</p>
<input name="getal" type="text" id="getal">
<input type="submit" name="Bereken" value="bereken">
</form>
</center>
</body>
</html>

Faculteit2.php

<?php
$getal=$_POST['getal'];
$i=1;
$getal2=1;
while ($i != $getal)
{
$getal2=$getal2*($i+1);
$i++;
}
echo $getal2;
?>
wat is daar mis mee? Weetje hoe onoverzichtelijk het wordt als je 50 cijfertjes achter elkaar op je scherm krijgr?
Dat is mijn bedoeling. Anders kon ik evengoed mijn rekenmachine nemen en het zo uitrekenen. Maar ik wil al de cijfers kunnen bekijken.
misschien kun je het met een instelling uitzetten in de php ini ofzo... maar anders kun je er zelf ook een functie voor schrijven. zou niet netjes zijn, maar je zou het als string kunnen behandelen, en de benodigde dingen veranderen, en weer naar int terug zetten
Ik snap het. Ik zal het zo meteen eens proberen. Alvast bedankt voor het snelle antwoord.
Allereerst, het is niet weergeven in een machtswortel. Een machtswortel is totaal wat anders.

Wat hier staat:
1,2E+18
Is eigenlijk 1,2 x 10[sup]18[/sup] of te wel de komma wordt 18 plaatsen naar rechts opgeschoven en je krijgt 1200000000000000000

Het kan aan mij liggen, maar is het eerste niet veel handiger? (of misschien komt het wel omdat ik een BETA man ben en daarom altijd in significatie gewent ben te werken)
significant werken is inderdaad veel beter, er zijn talloze voordelen, waarvan overzichtelijkheid wel de belangrijkste is. je bent denk ik nog niet zo bekend met de wetenschappelijke notatie, of niet? ik zou zeggen, wen er eens aan, over een tijdje wil je niet anders meer
Pff mensen toch...
Floating point getallen zijn heel anders dan integers.
De notatie is maar een detail.

Faculteiten wil je meestal exact bepalen, maar php en elke andere taal kunnen niet omgaan met te grote ints, omdat ze in C als long worden opgeslagen. Ik geloof dat dat in 64bit systemen 64 bit is. Php biedt wel de extensie BC math, waarmee je ook met grote ints kan werken. Waarschijnlijk wil je dat gebruiken.
Ik heb de wetenschappelijke notatie niet nodig, zoals aangehaald in mijn vorige berichten gebruik ik hiervoor een rekenmachine. Ik wil alle cijfers kunnen bekijken.
Gebruik dan bc math.

Reageren