奇偶數的判斷:取余、按位與


  過去判斷奇數偶數的編程習慣一直是除以2取余。最近在看《高性能javascript》,也曉得了更快的判斷方法,就是和1按位與。

  因為奇數的二進制表示法的最低位是1,偶數的最低位是0。那么用這個數去和1按位與,如果是奇數,那么結果就是1;偶數結果則是0。

  

<?php

$i = 1;  $j = 2;

echo $i%2 == 1;    
echo $j%2 == 0;

echo ($i & 1) == 1;
echo  ($j & 1) == 0;

 

從這個我們也可以在判斷真假與或時,利用按位與或者按位或。

<?php

$a = true;
$b = false;

$c = $a & $b; 
$d = $a | $b; 

var_dump($c);// 0
var_dump($d);// 1

值得注意的是,只有當明確知道$a和$b是bool類型時,才可以使用按位與或者按位或來判斷最后真假。。

舉個例子:比如$a = 2 (010); $b = 5 (101); 這樣按位與的結果就是0。因此這種情況就按照 && || 來判斷~

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM