Verwendung von ^ und & in bitweisen Operatoren

醉折花枝作酒筹
Freigeben: 2023-03-11 19:50:01
nach vorne
2551 Leute haben es durchsucht

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
Nach dem Login kopieren

&: 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
Nach dem Login kopieren

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;//输出结果
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage