RE: [PHP] Weird results from Left Shift
| From: | Eric O'Connell | Date: | Wed, 19 Sep 2001 19:54:42 +0000 |
| Subject: | RE: [PHP] Weird results from Left Shift | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-67892@lists.php.net to get a copy of this message | ||
> Okay, from the manual I have
> $a << $b - Shift the bits of $a $b steps to the left
>
> When I run the code
>
> <?php
> $num = "0001000";
> echo "Number is $num<BR>";
> $num = $num << 1;
> echo "Shifted Number is $num";
> ?>
>
> I get the output
>
> Number is 0001000
> Shifted Number is 2000
>
> What am I missing?!?
$num = "0001000"; sets $num to be 1000, not 0001000 binary.
As I'm not sure if PHP has a binary type, you can use hex:
<?php
$num = 0x8; // 0001000 binary
echo "Number is $num<BR>";
$num = $num << 1;
echo "Shifted Number is $num";
?>
Eric O'Connell