Bitweise Operatoren in C [mit Codierungsbeispiel]

Veröffentlicht: 2020-10-26

Inhaltsverzeichnis

Einführung

Operatoren sind wesentliche Bestandteile jeder Programmiersprache. Sie sind die Symbole, die verwendet werden, um bestimmte logische, mathematische oder andere Programmieroperationen zu erreichen. C bietet verschiedene Operatoren zum Ausführen mehrerer Operationen, wie z. B. arithmetische, logische und Bitmanipulation. Es gibt acht verschiedene Arten von Operatoren in C. Diese sind:

  • Arithmetische Operatoren in C
  • Logische Operatoren in C
  • Bedingungsoperator in C
  • Vergleichsoperatoren in C
  • Inkrement- und Dekrementoperatoren in C
  • Bitweise Operatoren in C
  • Zuweisungsoperatoren in C
  • Spezielle Operatoren in C

In diesem Artikel erfahren Sie mehr über die Bitwise-Operatoren in C und wie Sie sie implementieren.

Was ist ein bitweiser Operator?

Der bitweise Operator in C ist ein Operatortyp, der mit Bit-Arrays, Bit-Strings und dem Optimieren von Binärwerten mit einzelnen Bits auf Bitebene arbeitet. Für den Umgang mit elektronischen und IoT-bezogenen Operationen verwenden Programmierer bitweise Operatoren. Es kann auf Bitebene schneller arbeiten.

Der bitweise Operator in C führt seine Operation an den einzelnen Bits seines Operanden durch, wobei Operanden Werte oder Ausdrücke sind, auf denen ein Operator operiert. Diese Operatoren werden auch verwendet, um die Kernaktionen sowie arithmetische Operationen auf hoher Ebene auszuführen, die eine direkte Unterstützung des Prozessors erfordern. Wir können bitweise Operatoren basierend auf ihren Arbeitsprinzipien weiter in drei Untertypen unterteilen: logisch (bitweises AND, OR und XOR), Shift (Rechtsverschiebung und Linksverschiebung) und Komplement (Bitwise NOT).

Es gibt sechs verschiedene bitweise Operatoren in C . Diese sind:

· Bitweiser UND-Operator (&)

· Bitweiser ODER-Operator (|)

· Bitweiser exklusiver OR-Operator (^)

· Binäres Einerkomplement oder bitweiser NICHT-Operator (~)

· Bitweise Linksverschiebungsoperator ( <<)

· Bitweiser Rechtsverschiebungsoperator (>>)

Mit bitweisen Operatoren können Programmierer die einzelnen Bits beliebiger Werte ändern, die im Operanden enthalten sind. Wir können ein einzelnes Byte des Computerspeichers als 8 Bits betrachten, die den wahren oder falschen Status von 8 Flags anzeigen. Bitweise Operatoren werden normalerweise angewendet, um Flag-Werte in Betriebssystemen und Treibersoftware zu definieren. Beispielsweise wird in einer Dateieigenschaft der Nur-Lese-Modus konzeptionell als Flag-Bit im Betriebssystem ausgedrückt, und der bitweise Operator wird verwendet, um zwischen dem wahren und dem falschen Wert umzuschalten.

Hier ist eine Tabelle, die zeigt, wie die Berechnung bitweiser Operatoren ausfällt.

x j x & y x | j x^y
0 0 0 0 0
0 1 0 1 1
1 0 0 1 1
1 1 1 1 0

Es gibt sechs verschiedene Arten von bitweisen Operatoren in C . Diese sind:

Das bitweise AND (&) in C: Der C-Compiler erkennt das bitweise AND mit &-Operator. Es nimmt zwei Operanden und führt die UND-Operation für jedes Bit der zwei Operandenzahlen durch. Es ist ein binärer Operator. Die Ausgabe dieses Operators ergibt nur dann 1, wenn beide Bits 1 sind.

Das bitweise OR (|) in C: Der C-Compiler erkennt das bitweise OR mit | Operator. Es nimmt zwei Operanden und führt die ODER-Operation für jedes Bit der zwei Operandenzahlen durch. Es ist auch ein binärer Operator. Die Ausgabe dieses Operators ergibt 1, wenn eines der beiden Bits 1 ist.

Das bitweise XOR (^) in C: Der C-Compiler erkennt das bitweise XOR mit dem ^-Operator. Es nimmt zwei Operanden und führt die XOR-Operation für jedes Bit der zwei Operandennummern durch. Es ist auch ein binärer Operator. Die Ausgabe dieses Operators ergibt 1, wenn beide Bits unterschiedliche Werte haben.

Binäres Einerkomplement oder bitweiser NOT-Operator (~) in C: Der C-Compiler erkennt das bitweise NOT mit ~-Operator. Es nimmt nur einen Operanden und führt die Inversion aller Ziffern davon durch. Es ist ein unärer Operator. Die Ausgabe dieses Operators invertiert alle vorhandenen Bits dieses Operanden.

Bitweiser Linksschiebeoperator (<<) in C: Der C-Compiler erkennt die Linksschiebeoperation an diesem <<. Es nimmt nur zwei Operanden und verschiebt alle Bits des ersten Operanden nach links. Der zweite Operand entscheidet, um wie viele Stellen dieser Operator seine Bits verschiebt. Es ist ein binärer Operator.

Bitweiser Rechtsschiebeoperator (>>) in C: Der C-Compiler erkennt die Linksschiebeoperation an diesem >>. Es nimmt nur zwei Operanden und verschiebt alle Bits des ersten Operanden nach rechts. Der zweite Operand entscheidet, um wie viele Stellen dieser Operator seine Bits verschiebt. Es ist ein binärer Operator.

Lesen Sie: Operatoren in Python: Ein Anfängerleitfaden für Arithmetik, relationale, logische und mehr

Programm für bitweise Operatoren in C

Werfen wir nun einen Blick auf das Programm, das alle bitweisen Operatoren verwendet.

#include <stdio.h>

int Haupt()

{

unsigned char x = 20, y = 21; // x = 20 (00010100), y = 21 (00010101)

int g = 0;

g = x & y; /* 20 = 010100 */

printf(” Das Ergebnis von Bitwise AND ist %d \n”, g );

g = x | ja; /* 21 = 010101 */

printf(” Das Ergebnis von Bitwise OR ist %d \n”, g );

g = x^y; /* 1 = 0001 */

printf(” Das Ergebnis von Bitwise XOR ist %d \n”, g );

g = ~x;

printf(” Das Ergebnis von Bitwise NOT ist %d \n”, g );

g = x << 1;

printf(” Das Ergebnis der bitweisen Linksverschiebung ist %d \n”, g );

g = x >> 1;

printf(” Das Ergebnis der bitweisen Rechtsverschiebung ist %d \n”, g );

0 zurückgeben;

}

AUSGANG:

Das Ergebnis von Bitwise AND ist 20

Das Ergebnis von Bitwise OR ist 21

Das Ergebnis von Bitwise XOR ist 1

Das Ergebnis von Bitwise NOT ist -21

Das Ergebnis der bitweisen Linksverschiebung ist 40

Das Ergebnis der bitweisen Rechtsverschiebung ist 10

Lesen Sie auch: Python-Tutorial: Einrichten, Tools, Funktionen, Anwendungen, Vorteile, Vergleich

Fazit

Bitweise Operatoren sind eine bestimmte Art von Operatoren in C, die für die Programmierung auf Bitebene verwendet werden. Es ist wichtig, die Verwendung des bitweisen Operators zu kennen, da er eine effiziente Möglichkeit bietet, Platz bei der Darstellung von Daten zu sparen. Programmierer verwenden diese Operatoren in verschiedenen Bereichen, wie z. B. Systemprogrammierung, eingebettete Programmierung und Entwurf von Protokollen. Daher müssen Programmierer seine Verwendung kennen.

upGrad bringt Programmieren mit C und vieles mehr mit upGrads PG Diploma in Software Development Specialization in Full Stack Development . Ein Programm, mit dem Sie sich als Full-Stack-Entwickler hervortun und lernen, einige der großartigen Anwendungen zu erstellen. Es ist ein umfangreiches 12-monatiges Programm, das die Arbeit an Live-Projekten und -Aufgaben sowie das Training von 15 Programmiersprachen und -tools umfasst. Darüber hinaus bietet es jederzeit Karriereunterstützung mit Scheininterviews und Arbeitsunterstützung.

Landen Sie in Ihrem Traumjob

UPGRAD UND IIIT-BANGALORES PG-DIPLOM IN FULL STACK
Melden Sie sich noch heute an