ID:               27208
 Updated by:       [EMAIL PROTECTED]
 Reported By:      tonyman_hacker at yahoo dot com
-Status:           Open
+Status:           Bogus
 Bug Type:         Scripting Engine problem
 Operating System: Linux
 PHP Version:      4.3.4
 New Comment:

Works fine on linux. 
 
php -r ' printf("%x\n", ~ 0x1); ' 
fffffffe 


Previous Comments:
------------------------------------------------------------------------

[2004-02-10 10:18:21] tonyman_hacker at yahoo dot com

Description:
------------
I've founded that under Linux the ~ bit operator doesn't produce
correct result;



Reproduce code:
---------------
$myvar = 0x1;
$myvar = ~$myvar;
// the result of this operation on windows system is correct
// 0xFFFFFFFE
// on Linux we have 0xFFFFFFFF
echo dechex($myvar);

Expected result:
----------------
// the result of this operation on windows system is correct
// 0xFFFFFFFE
// on Linux we have 0xFFFFFFFF

Actual result:
--------------
// the result of this operation on windows system is correct
// 0xFFFFFFFE
// on Linux we have 0xFFFFFFFF

instead of this you could use XOR operator ...
i.e. ~$myvar = $myvar ^ 0xFFFFFFFF


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=27208&edit=1

Reply via email to