Re: Powers Gone Wrong?

From: Date: Fri, 02 Jun 2000 20:39:25 +0000
Subject: Re: Powers Gone Wrong?
References: 1  Groups: php.general php.version4 
Request: Send a blank email to php-general+get-924@lists.php.net to get a copy of this message
Hi Jonathan, There is no exponentiation operator in PHP. To raise one number to the power of another, you must use either the pow function. The >> and << operators are used for bitwise shift. HTH, Zak At 09:13 PM 6/2/00 +0100, Jonathan Wright \(DjNA\) wrote:
Hiya, I'm a bit of a newbie to PHP (although I know quite a bit of Perl), and I wrote some code to test out Powers (<<). It all seams to be working fine, until it gets to 2^0 (two to the power zero). It should be 1 and it's giving me 0. Written into the code is a tester, for converting a number to binary. It's a prototype for a selection I'm writing. Depending on what someone what's they add up all of the numbers of the options, and this will decode them. If you call powers.php?power=5, bit 2 and bit 0 should show positive, so selection 1 and 4 will run. If you call 6, bit 2 and 1 should show positive, but bit 0 does as well, as it's coming out 0. This is my fault, or a possible bug? I think I've got it right. All the other powers (bit 8 = 256, bit 16 = 65,536) seam correct, but why 0? Thanks. ---powers.php---------------------------------- <?php $binary=""; for ($i=16; $i>=0; $i--) { echo "2<<".$i." = ".(2 << ($i-1))."\n bit ".$i;
      if (($power-(2 << ($i-1))) >= 0)
        { $power -= (2 << ($i-1));
          $binary .= "1";
         echo " -> Positive\n"; }
      else
        { echo " -> Negative\n";
          $binary .= "0";  }
} echo "Binary : ".$binary."\n\n\n"; ?> ----------------------------------------------- Give it a go. I can't see the problem, unless it's my understanding ;-) Thanks again. - - - - - - - - - - - - - - - - - - - - Jonathan Wright [DjNA] mail@djna.fsnet.co.uk www.djna.fsnet.co.uk ICQ [21961373] -- PHP General Mailing List (http://www.php.net/) To unsubscribe, e-mail: php-general-unsubscribe@lists.php.net For additional commands, e-mail: php-general-help@lists.php.net To contact the list administrators, e-mail: php-list-admin@lists.php.net


« previous php.general (#924) next »