Hallo an alle,
habe gerade feststellen müssen, dass PHP falsch potenziert:
Mein skript:
===============================================
echo('2 ^ - 2 = ');
echo(2^-2);
echo('<br />');
echo('2 ^ - 1 = ');
echo(2^-1);
echo('<br />');
echo('2 ^ 0 = ');
echo(2^0);
echo('<br />');
echo('2 ^ 1 = ');
echo(2^1);
echo('<br />');
echo('2 ^ 2 = ');
echo(2^2);
===============================================
Als ergebnis kommt leider raus: ???
===============================================
2 ^ - 2 = -4
2 ^ - 1 = -3
2 ^ 0 = 2
2 ^ 1 = 3
2 ^ 2 = 0
===============================================
Habe fieberhaft an einer Lösung für dieses roblem gesucht und schließlich dieses kleine Skript geschrieben:
Es Potenziert "manuell":
===============================================
function Potenz($basis, $exponent) {
$x = $basis * $basis;
for($i=2; $i<$exponent; $i++) {
$x *= $basis;
}
return $x;
}
===============================================
Und schon beekommt man mit:
===============================================
echo("Potenz(2, 2) = ".Potenz(2, 2)."<br />");
echo("Potenz(2, 3) = ".Potenz(2, 3)."<br />");
echo("Potenz(2, 4) = ".Potenz(2, 4)."<br />");
echo("Potenz(2, 5) = ".Potenz(2, 5)."<br />");
echo("Potenz(2, 6) = ".Potenz(2, 6)."<br />");
===============================================
das raus:
===============================================
Potenz(2, 2) = 4
Potenz(2, 3) = 8
Potenz(2, 4) = 16
Potenz(2, 5) = 32
Potenz(2, 6) = 64
===============================================
Es funzt zwar nur bei ganzzahligen Exponenten größer 1, also 2, 3, 4,...
Aber für meine Zwecke genügt das
~~~~~~~~~~~~~~~~~~~~~~~
MfG Hendrik
hendrik.fritsch Gast |