ID: 12590 Updated by: jeroen Reported By: [EMAIL PROTECTED] Old Status: Feedback Status: Bogus Bug Type: Scripting Engine problem Operating System: Linux PHP Version: 4.0.5 New Comment:
On most platforms (including i386), PHP does not support integers of 2**31 (0x80 00 00 00) and higher. See the manual on integers. So the result of the second expression is unknown. (0x800000FF is converted to float because of integer-overflow, and you cannot use bitwise fucntions on floats) Previous Comments: ------------------------------------------------------------------------ [2001-10-18 15:45:55] [EMAIL PROTECTED] What would you expect to get? On my machine, it prints out 255 twice. ------------------------------------------------------------------------ [2001-08-06 07:35:58] [EMAIL PROTECTED] Looks like there's some trouble with parsing big hex consts (those with sign bit set). Try this: ... echo (0x7FFF00FF & 0xFFFF); //echoes 255 echo (0x800000FF & 0xFFFF); //echoes 0!!! ... 0x800000FF apparently is mis-parsed. ------------------------------------------------------------------------ Edit this bug report at http://bugs.php.net/?id=12590&edit=1 -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]