Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Operator (4) „Bit-Operator“ Beispielerklärung

PHP-Operator (4) „Bit-Operator“ Beispielerklärung

怪我咯
怪我咯Original
2017-04-12 15:17:243379Durchsuche

Wir haben den „php-Arithmetikoperator “, „php-String-Operator “, „Zuweisungsoperator “ in PHP-Operatoren erklärt, den ich Ihnen heute geben werde eine detaillierte Einführung in den „Bit-Operator“ in PHP-Operatoren.

Bitweise Operatoren werden in PHP nicht oft verwendet, sind aber dennoch sehr nützlich. Im folgenden Inhalt geben wir Beispiele, um die Verwendung von bitweisen Operatoren zu veranschaulichen.

Bitweise Operatoren beziehen sich auf Operationen nach dem Ausrichten binärer Bits von niedriger zu hoher Ordnung. Sie ermöglichen die Auswertung und Operation bestimmter Bits in ganzzahligen Zahlen.

Der Operator in PHP ist in der folgenden Tabelle dargestellt

运算符 说明 例子
& 按位与 $m & $n
 | 按位或 $m | &$n
^ 按位异或 $m ^ $n
~ 按位非或按位取反 $m ~ $n
左移 $m
>> 右移 $m >> $n

Beschreiben wir die Operatoren in der obigen Tabelle anhand von Beispielen

<?php

$m=1;                //1=0 00000001
$n=2;                 //2=00000010

$mn=$m&$n;
echo $mn."<br/>";

$mn=$m^$n;
echo $mn."<br/>";

$mn=$m|$n;
echo $mn;

?>

Die Ergebnisse der Codeausführung:

PHP-Operator (4) „Bit-Operator“ Beispielerklärung

Beispiel Erklärung:

$m&$n: Es ist 1, wenn beide 1 sind, andernfalls ist es 0. Das heißt, setzen Sie die Bits in $a und $b, die beide 1 sind, auf 1, andernfalls auf 0.

00000001 ← $m
& 00000010 ← $b

Das Vergleichsergebnis ist 00000000, daher ist die Ausgabe 0


$m^ $n: Beim bitweisen ODER-Verfahren ist die Differenz 1 und das Gleiche ist 0.
00000001 ← $m

^ 00000010 ← $n

Das Ergebnis ist also 00000011 und 3 wird ausgegeben.


$m|$n: Im Prozess des bitweisen ODER ist 1 1, alle 0 ist 0,

00000001 ← $m

|. 00000010 ← $n

Das Ergebnis ist 00000011, also ist die Ausgabe 3

Das obige Beispiel spricht von „bitweises ODER“, „bitweises ODER“, „bitweises XOR“, Werfen wir einen Blick auf die folgenden drei Beispiele


Beispiel für bitweises NICHT oder bitweise Negation , der Code lautet wie folgt

<?php
$m = 2;
$m1 = ~$m;
echo $m1;
?>

Laufergebnis

PHP-Operator (4) „Bit-Operator“ Beispielerklärung

Zu diesem Zeitpunkt ist unser Laufergebnis -3, hier müssen wir aufpassen.

Hinweis: In Computern werden negative Zahlen in der Komplementform ihrer positiven Werte ausgedrückt.

1: Der 32-Bit-Originalcode von 2 ist 0000 0000 0000 0000 0000 0000 0000 0010

2: Die bitweise Umkehrung ist 1111 1111 1111 1111 1111 1111 11 01

Da die erste Zahl 1 und das Vorzeichenbit 1 ist, handelt es sich um eine negative Zahl. Daher wird die Komplementform ihres positiven Werts wie folgt ausgedrückt: (Das Vorzeichenbit bleibt unverändert, bitweise invertiert und am Ende wird 1 hinzugefügt )

1000 0000 0000 0000 0000 0000 0000 0011

Die Ausgabe ist also -3



Nach links verschieben und Shift-Code-Beispiel

<?php
$m = 12;     // 12=00001100
$n = 3;     // 3=00000011

$mn= $m << $n;
echo $mn ."<br/>";

$mn= $m >> $n;
echo $mn ; 
?>

Laufendes Ergebnis:

PHP-Operator (4) „Bit-Operator“ Beispielerklärung

Beispielerklärung:


$ m: Verschieben Sie die Bits in $m $n-mal nach links (jede Bewegung bedeutet „mit 2 multiplizieren“, also „mit 2$b multiplizieren“).
0000 1100 ← $m


0110 0000 = 96


$m>>$n: Verschieben Sie die Bits in $m $n-mal nach rechts (jede Bewegung bedeutet „durch 2 dividieren“, also „mit 2 multiplizieren -$“) B ").
0000 1100 ← $m


0000 0001 = 1


Der obige Inhalt ist der detaillierte Inhalt von „Bitoperatoren“ in PHP-Operationen. Wenn Sie nichts verstehen, können Sie unserer chinesischen PHP-Website folgen und oben eine Nachricht hinterlassen. Wir werden Ihnen so schnell wie möglich eine Antwort geben oder auf der chinesischen PHP-Website suchen. Möglicherweise finden Sie, was Sie suchen. Im nächsten Abschnitt werden wir den logischen Operator in PHP-Operationen ausführlich vorstellen.

Das obige ist der detaillierte Inhalt vonPHP-Operator (4) „Bit-Operator“ Beispielerklärung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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