Nicholas Clark wrote:
> but in the scope of use integer signed integers are used:
> 
> $ perl -we '$a = 0xDEADBEEF; {use integer; $b = $a >> 4} printf "%08X\n%08X\n", $a, 
>$b'
> DEADBEEF
> FDEADBEE
> 
> [Actually, IIRC it's up to the C implementation what it does, but for both
> platforms I've just tried one gets the above result]

I, for one, am perturbed by the C behavior.
I would rather, if it's going to sign-extend, that it have yielded
  8deadbee.
But I suspect the behavior is defined by ANSI to have
  >>n == (>>1)*n

-- 
John Douglas Porter

Reply via email to