Heim  >  Artikel  >  Backend-Entwicklung  >  Verwendung von ^ und & in bitweisen Operatoren

Verwendung von ^ und & in bitweisen Operatoren

醉折花枝作酒筹
醉折花枝作酒筹nach vorne
2021-07-26 16:17:322500Durchsuche

Bitoperationen sind unäre und binäre Operationen an bitweisen oder binären Zahlen in Bitmustern in der Programmierung. Auf vielen älteren Mikroprozessoren sind bitweise Operationen etwas schneller als Addition und Subtraktion, und im Allgemeinen sind bitweise Operationen viel schneller als Multiplikation und Division. In modernen Architekturen arbeiten bitweise Operationen häufig mit der gleichen Geschwindigkeit wie Additionen (immer noch schneller als Multiplikationen).

Verwendung von ^ und & in bitweisen Operatoren

^: Bitweises XOR. Konvertieren Sie die Werte in Binärwerte und vergleichen Sie sie. Solange eine der gleichen Positionen 1 ist, ist das Ergebnis dieser Position 1, andernfalls ist es 0. Beispiele sind wie folgt:

$a=1;//二进制为00001
$b=2;//二进制为00010
echo $a^$b;// 00011 就是3,因此输出3

&: bitweises UND. Wandeln Sie die Werte in Binärwerte um und vergleichen Sie sie. Wenn nur zwei gleiche Positionen alle 1 sind, ist das Ergebnis dieser Position 1, andernfalls ist es 0. Zum Beispiel:

$a=1;//二进制为00001
$b=2;//二进制为00010
$c=3;//二进制为00011

echo $a&$b;// 00000 就是0,因此输出0
echo $a&$c;// 00001 就是1,因此输出1
echo $b&$c;// 00010 就是2,因此输出2

Der Rückgabewert nach bitweisem & wird hauptsächlich verwendet, um zu bestimmen, ob $a in $c vorhanden ist, daher gibt es viele Berechtigungsverwendungen. Zum Beispiel empfiehlt

$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 .= &#39;我有&#39;.$v.&#39;的权力<br>&#39;;
}
echo $Pri;//输出结果

das Lernen: php-Video-Tutorial

Das obige ist der detaillierte Inhalt vonVerwendung von ^ und & in bitweisen Operatoren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen