ID: 25877 Updated by: [EMAIL PROTECTED] Reported By: cestmirl at freeside dot sk Status: Open Bug Type: Documentation problem Operating System: Linux Debian, Win32 PHP Version: 4.3.3 New Comment:
Heh, who told me that C supports '>>>' operator... there's no such operator in that language. Previous Comments: ------------------------------------------------------------------------ [2003-10-15 07:56:56] [EMAIL PROTECTED] Since PHP doesn't support unsigned shift operations that are represented by '<<<' or '>>>' in the C language, bit shift operations are done in "sign-respectful" manner, where the most significant bit will never be changed. This is expected behaviour, but not documented yet. ------------------------------------------------------------------------ [2003-10-15 07:40:14] cestmirl at freeside dot sk Description: ------------ Bitwise shift right operator returns negative result (most significant bit set) for negative input (left operand). Following assert fails (though should NOT) assert((1 << 31 >> 31) == 1); Reproduce code: --------------- assert((1 << 31 >> 31) == 1); Actual result: -------------- assertion failed ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=25877&edit=1