Schichtoperatoren in C

Schichtoperatoren in C

Im Allgemeinen sollten Sie sich keine Sorgen um den Betrieb irgendwo auf Bit -Ebene als Entwickler machen müssen. Sie können in Bezug auf Bytes, Int und Doppel sowie noch höhere Daten konzipieren. Es gibt jedoch Fälle, in denen Sie ein einzelnes Stück zoomen möchten. Die Bits in einer Ganzzahlvariablen werden durch eine definierte Anzahl von Positionen unter Verwendung von zwei Schaltoperatoren verschoben. Der Bediener „>>“ wechselt Bits nach rechts, während der Bediener die Bits links ändert. Im Allgemeinen führt die Verwendung der linken und rechten Schaltoperatoren anstelle von Computer und anschließend mit einer Leistung von zwei Two zu einem wesentlich schnelleren Code zu.

Infolgedessen können wir den Bitwise Shift Operator in zwei Hauptkategorien unterteilen:

  • Linkschichtbetreiber
  • Rechtsschichtbetreiber

Beispiel für den linken Schaltoperator

In C ist es ein bitialer Schaltoperator, der mit Bits arbeitet. Es ist ein binärer Operator, was bedeutet, dass es mit zwei Operanden funktioniert. Es wird verwendet, um die Wertsteile eines Werts nach links zu bewegen, indem Nullen zu den leeren Räumen nach dem Verschieben hinzugefügt werden. Nach der Anzahl der vom zweiten Operanden angegebenen Orte werden die ersten Operandenbits nach links verschoben.

Syntax

"Nameofvariable"<In der oben genannten Syntax kann es zwei Werte geben. Die erste ist eine Ganzzahlvariable, bei der wir den linken Schaltoperator verwenden können. Der Name dieser Variablen kann alles sein, was der Benutzer er sein möchte. Der zweite Wert ist eine Ganzzahl, die definiert, wie viele Orte die Bits nach links bewegt werden sollten.

Das Ergebnis des linken Verschiebungsvorgangs ist nicht bekannt, wenn der erste Operand negativ ist. Wenn der Wert des zweiten Operanden irgendwie negativ oder mehr als oder gleich der Anzahl der Bit. Wenn der Wert des zweiten Operanden größer ist als die Größe der Ganzzahl, wäre das Ergebnis des linken Verschiebungsvorgangs auch undefiniertes Ergebnis.

Wir implementieren all diese Beispiele zu Ubuntu 20.04 Linux -Betriebssystem. Öffnen Sie das Terminalfenster des Ubuntu 20.04 Linux -Betriebssystem und führen Sie die folgende angehängte Anweisung in der Shell aus, um eine Datei mit dem Titel „LINKSHIFT) zu erstellen.C". Die Dateierweiterung ist .C, das zeigt die Datei für die C -Programmiersprache C.

$ nano linkshift.C

Nach der Erstellung wird die Datei im GNU -Editor geöffnet. Führen Sie den unten aufgeführten Programmiercode aus.

In diesem Code haben wir die Werte „A“ und „B“ als „2“ und „9“ zugewiesen und den linken Schaltoperator auf beide angewendet. Wir haben das Ergebnis mithilfe der Printf () -Funktion verwendet. Der gesamte Code ist in der Hauptfunktion geschrieben. Schreiben Sie nach dem Speichern dieser Datei die aufgeführten Befehle unten für die Ausführung und Kompilierung des obigen Code mit Hilfe des GCC-Compilers.

$ GCC LINKSCHAFT.C
$ ./A.aus

Bei der Ausführung wird die Ausgabe angezeigt, wie Sie das angehängte Bild einchecken können.

Beispiel für den Rechtsverschiebungsoperator

Zwei Zahlen werden als Operanden in der richtigen Schicht (>>) verwendet (>>). Der zweite Operand bestimmt, ob oder ob der erste Operand die Bits rechts verändern sollte, sowie die Anzahl der Orte, die verschoben werden sollten. Mit anderen Worten, 0 wird verwendet, es sei denn, die Zahl ist positiv und 1 wird verwendet, wenn die Zahl negativ ist.

Syntax

"Nameofvariable" >> "TotalPositionNumbers"

In der obigen Zeile kann es zwei Werte geben; Die erste ist eine Ganzzahlvariable, die den richtigen Schaltoperator verwendet hat. Der Name dieser Variablen kann alles sein, was der Benutzer er sein möchte. Der zweite Wert ist eine Ganzzahl, die definiert, wie viele Stellen die Bits nach rechts verschoben werden sollten.

Wir implementieren all diese Beispiele zu Ubuntu 20.04 Linux -Betriebssystem. Öffnen Sie das Terminalfenster des Ubuntu 20.04 Linux -Betriebssystem und führen Sie den folgenden angehängten Befehl in der Shell aus, um eine Datei mit dem Titel „RSHIFT) zu erstellen.C". Die Dateierweiterung ist .C, das zeigt die Datei für die C -Programmiersprache C.

Nach der Erstellung wird die Datei im GNU -Editor geöffnet. Führen Sie den unten aufgeführten Programmiercode aus.

In diesem Code haben wir die Werte A und B als „5“ und „9“ zugewiesen und den linken Schaltoperator auf beide angewendet. Wir haben das Ergebnis mithilfe der Printf () -Funktion verwendet. Der gesamte Code ist in der Hauptfunktion geschrieben. Schreiben Sie nach dem Speichern dieser Datei die aufgeführten Befehle unten für die Ausführung und Kompilierung des obigen Code mit Hilfe des GCC-Compilers.

$ gcc rShift.C
$ ./A.aus

Bei der Ausführung wird die Ausgabe angezeigt, wie Sie das angehängte Bild einchecken können.

Abschluss

Bitgewise -Operatoren sind eine Reihe spezieller Operatoren, die in der Programmiersprache 'C' angegeben sind. Sie sind in der Programmierung auf Bit -Ebene beschäftigt. In C /haben wir gelernt, wie man die linken und rechten Schaltoperatoren nutzt, die für Bitwechselvorgänge bei nicht signierten Zahlen wichtig sind. Wenn die Schaltoperatoren kombiniert werden, können die Daten aus dem Ganzzahl -Expression extrahiert werden. Ich glaube.