Bug #14278 Updated: % and / bug with INTEGERs!
ID: 14278
Updated by: sander
Reported By: pumuckel@metropolis.de
Old Status: Feedback
Status: Closed
Bug Type: Math related
Operating System: Linux 2.2.19
PHP Version: 4.0.6
New Comment:
No feedback. Closing.
Previous Comments:
------------------------------------------------------------------------
[2001-11-29 15:42:41] cnewbill@php.net
E:\php>php -v
4.0.6
E:\php>php -q test.php
101110 22
3888 14
149 19
5 5
0 0
0 0
AAFTOW
No matter how many times I run this script I always get this. Also tested it on Linux (2.4), with
PHP 4.2.0-dev and it works.
Please try a newer version and see if that fixes the problem you're having. http://www.php.net/~zeev/php-4.1.0RC3.tar.gz
or http://snaps.php.net/php4-latest.tar.gz
-Chris
------------------------------------------------------------------------
[2001-11-29 05:27:51] pumuckel@metropolis.de
Sometimes (1 - 10 times a day) I get a strange error on one of my production servers. See this
function:
function MakeHash($num) {
$ret = "";
$ca = array();
for ($i = 0; $i < 6; $i++) {
$c = $num % 26;
$ca[] = "$num $c";
$ret = sprintf("%c", 65+$c).$ret;
$num = ($num-$c)/ 26;
}
// Send $ca array via email to me.... (removed)
return $ret;
}
Sometimes calling this function with an INT it calculates wired results... If that happens I mail
the $ca array to myself and see what it does:
101110 19 (MEANS: 101110 % 26 is 19!? That's wrong, it is 22)
38888588 24 (MEANS 101110 / 26 is 38888588, but it is 3888)
1495714 12 ...
57527 15
2212 2
85 7
What goes wrong? In the beginning the % result is wrong, and then the division result is wrong
too... any suggestions!?
/mike
------------------------------------------------------------------------
Edit this bug report at http://bugs.php.net/?id=14278&edit=1
Thread (4 messages)