> 
> From: "Jeroen van Wolffelaar" <[EMAIL PROTECTED]>
> Date: 2001/09/10 Mon PM 01:58:03 CDT
> To: "Vlad Krupin" <[EMAIL PROTECTED]>,
>       "Alexander Wirtz" <[EMAIL PROTECTED]>
> CC: "Jason Greene" <[EMAIL PROTECTED]>,
>       <[EMAIL PROTECTED]>,
>       <[EMAIL PROTECTED]>,
>       "Andrei Zmievski" <[EMAIL PROTECTED]>,
>       "Andi Gutmans" <[EMAIL PROTECTED]>
> Subject: Re: [Zend Engine 2] Re: [PHP-DEV] Re: [Zend Engine 2] Right/Left Shift Zero 
>Fill operator
> 
> > FWIW:
> > Signed shift seems to make little sense to me personally, since we are
> > just dealing with a row of bits, and if you really want to do a quick
> > multiplication/division, you might just as well use a * or / operator -
> > it is not going to hurt that much:).
> 
> I completely agree

Which is faster, adding a number several hundred times
or shifting a few bits?
(no need to answer just making a point)

 
> > *However*, it's been possible in
> > different languages since before I had my first computer (e.g. SHL/SHR
> > and SAL/SAR in asm x86), so we might provide the same functionality and
> > create a new operator to discriminate between signed and unsigned
> > shifts.Just a thought. Don't kill me if that would be polluting the
> > language.
> 
> IMHO: If other languages have strange things, I don't see why PHP should
> take it over... Don't copy bad operators!
> But... currently, how does PHP handle this? I'm afraid the wrong way?
> 
> --Jeroen
Yep the signed way.

PHP just calls C's >>, which shifts according to 
the datatype. If the datatype is signed (which in php it is)
it performs a signed shift, if it is unsigned it performs an unsigned shift. The 
problem lies in the fact that a loosely typed language has no concept of sign/unsigned 
types. Java got around this by creating a new operator for unsigned shifting >>>. 

I personally have never had a need to shift signed values, but someone has spoken up 
that does, and as such I believe we should leave compatibility with this. 

It looks like we have no choice but to follow java on this one. Does anyone disagree?

-Jason





> 
> 


-- 
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]

Reply via email to