今日、友達グループの友達がビット単位の AND or について質問しました。 。
私は PHP を 1 年間使用していますが、この部分に慣れていない可能性があります。ここでは、この部分を初心者の友人に紹介したいと思います。
コードをコピー コードは次のとおりです:
$a = 1;
$b = 2;
$c = $a^b;
echo $c // 3
?>
これは単純な加算関係ではありません
10進数の1を2進数の00000001に変換します 10進数の2を2進数の00000010に変換します
ビット単位 ^ 11 // 異なっていても、 1 としてカウントされます^_^
次に、
コードをコピーします コードは次のとおりです:
$a = 1;
$b = 2; // 1
?>
10 進数 3 は 2 進数 00000011 に変換されます
10 進数 1 は 2 進数 00000001 に変換されます
ビットごと & 00000001 // つまり、桁は同じですが、それ以外の場合はすべて 0 としてカウントされます
最後に、使い方を紹介します。 bitwise& の後の値は意味がありません。 主に $a が $c に存在するかどうかを判断するために使用されます // 多くの権限の使用法があります。
コードをコピーします コードは次のとおりです:
$my_privilege = 15; // 1+2+4+8にはすべての権限があります
$Pri = '';
$privilege_arr = array(8 =>'追加', 4=>'削除', 2=>'変更', 1=>'チェック');
foreach($privilege_arr as $k =>$v) {
$k & $my_privilege && $Pri .= '私には'.$v'の力があります'
';
}
echo $Pri;
?>
http://www.bkjia.com/PHPjc/327790.html
www.bkjia.com本当http://www.bkjia.com/PHPjc/327790.html技術記事今日、友達グループの友達がビット単位の AND or について質問しました。 。私は PHP を 1 年間使っていますが、この部分に慣れていない可能性があります。ここでは主にバイナリ向けの部分を紹介します。