Sorry...my fault. I didn't noticed that the things happen at bugs.php.net.

K.

"Moriyoshi Koizumi" <[EMAIL PROTECTED]> wrote in message
news:[EMAIL PROTECTED]
> Although I'm not the one who first addressed this, I meant it's not a bug
> but undocumented stuff. BTW, why didn't you use the recommended web
> interface within the bug system instead of just replying the notification
> mail?
>
> Moriyoshi
>
> "Kouber Saparev" <[EMAIL PROTECTED]> wrote:
>
> > The >>> operator exist in Java...obviously <<< have no sense, you cannot
> > shift left and keep the sign bit.
> >
> > I don't see anything strange in the behaviour of  bitwise operators:
> >
> > $i = 1;
> > $i <<= 31;
> > printf("%d\n", $i);
> >
> > This code outputs the same thing (-2147483648) in PHP, Perl and in C.
> > However, the behaviour of the "print" operator is different in PHP and
in
> > Perl:
> >
> > print $i;
> >
> > This will output -2147483648 in PHP and 2147483648 in Perl.
> >
> >
> > <[EMAIL PROTECTED]> wrote in message
> > news:[EMAIL PROTECTED]
> > > 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

Reply via email to