Wie man in C umdrehen kann

Wie man in C umdrehen kann
Ein bisschen umdrehen bedeutet das Schalten oder Umkehren des vorhandenen Bits. Die Technik der analytisch neu ordnungsenden Bits oder anderer Elemente von Daten, die kleiner als selbst ein Byte als Bitmanipulation bezeichnet werden. Die C -Programmiersprache kann mit Bits umgehen.

Der Bitgewise -Betreiber arbeitet mit Bits und führt allmählich Operationen durch. Die Schichtbetreiber führen den erforderlichen Übergang vom linken Operator zum rechten Bediener aus. Der entsprechende Betreiber muss positiv sein. Die leeren Bits werden durch Null ersetzt.

Wir erwerben eine binäre Ziffer und verlagern seinen Wert auf den Gegner, wenn wir uns etwas umkehren. Schauen wir uns an, wie Sie Bits in C austauschen können:

Verwenden Sie den bitweisen Operator, um jedes Bit einer Ganzzahl umzukehren:

Das Umschalten oder Umkehren des vorhandenen Bitzustands wird als etwas umdrehen. Wir würden eine Schleife ausführen, die 0 in dem Ausmaß der Ganzzahl beginnt und jedes Bit nacheinander tauschte, um jedes Element der Binärwerte umzukehren.

Auf der anderen Seite bietet die C -Programmiersprache einen bitgewiats -Komplement -Operator ~, der für diese Aufgabe verwendet werden kann. Bitweise Komplement untersucht die Komponente des Argumentbits. Wenn der geeignete Wert des Operanden 0 beträgt, wandelt er sich auf 1 um; oder zuweist es 0 zugewiesen. Hier ist ein C -Programm, das jedes Element einer Binärzahl mit Hilfe eines bitgewiären Operators enthält und umkehrt ~.

#enthalten
int main ()

int n, Flipednum;
printf ("eine Nummer eingeben:");
scanf ("%d", & n);
Flippednum = ~ n;
printf ("tatsächliche Zahl = %d (in Dezimal) \ n", n);
printf ("Wert nach dem Umdrehen der Bits = %d (in Dezimal)", Flipednum);
Rückkehr 0;

In diesem Beispiel schließen wir zunächst die Bibliothek ein . Dann nennen wir die main () -Funktion. Hier initialisieren wir zwei Variablen. Eine Variable, 'n', verfügt.

Darüber hinaus verwenden wir die Funktion printf (), um die Anweisung "Eine Nummer eingeben" anzuzeigen. Der Benutzer gibt also einen Wert seiner eigenen Wahl ein. Die scanf () -Methode wird aufgerufen. Diese Methode wird verwendet, um die konfigurierten Daten anzugeben. Wir wenden den Befehl "Flippednum" so an, dass der vom Benutzer eingegebene Wert umgedreht wird. Wir drehen die Bits mit dem bitweisen Komplementzeichen ~ um.

Im nächsten Schritt wird die Printf (). Wir beenden das Programm mit Rückkehr 0 -Befehl.

Verwenden Sie für die Schleife, um die Bits umzudrehen:

Wir iterieren durch jede der Teile der Zahl. Wir nehmen eine unsignierte Ganzzahl, drehen jedes seiner Elemente um und lassen die Ganzzahl in diesem Szenario Teile umgedreht.

#enthalten
#enthalten
Unsigned Int Revbits (nicht signiert int n)

unsigned int number_of_bits = sizeof (n) * 8;
unsigned int rev_num = 0, j, temp;
für (j = 0; J < NUMBER_OF_BITS; j++)

temp = (N & (1) << j));
if (temp)
rev_num | = (1 << ((NUMBER_OF_BITS - 1) - j));

return rev_num;

int main ()

nicht signiert int a = 5;
printf ("%u", revbits (a));
getChar ();

Hier werden wir das Programm starten, indem wir die Header -Dateien integrieren und . Hier passieren wir die 'unsignierte n' Variable, die einen Ganzzahl -Datentyp aufweist. Wir deklarieren eine neue Variable, die die Anzahl der Bits speichert. Hier multiplizieren wir die Größe der Ganzzahl mit 8. Dann initialisieren wir eine Variable 'rev_num', die die umgedrehte Nummer speichert.

Wir initialisieren auch eine Variable für die Variablen "for Loop" und "Temperatur", die den umgedrehten Wert der definierten Ganzzahl vorübergehend hält. Darüber hinaus verwenden wir eine Schleife. Wir deklarieren eine Variable 'j' innerhalb der Schleife und wenden die Bedingung auf die Variable an, dass ihr Wert weniger als mehrere Bits betragen muss. Der letzte Teil der for -Schleife zeigt eine Erhöhung des Wertes der Variablen 'j'. Dann verwenden wir den Zustand "If" in der Variablen "Temp". Dies zeigt, dass, wenn 'rev_n' nicht der Anzahl der Bits entspricht, die Rückgabeerklärung den Wert von 'rev_n' zurückgibt,

Darüber hinaus wird die main () -Funktion angewendet, um die oben genannte Methode zu testen. Jetzt initialisieren wir die Variable "Unsigned a" mit ganzzahliger Datentyp. Die printf () -Methode zeigt nun den Wert der Ganzzahl nach Umkehrung der Bits an. Am Ende verwenden wir die GetChar () -Funktion. Hier nimmt die GetChar () -Methode nur ein Zeichen als Argument auf.

Verwenden Sie während der Schleife, um die Bits zu drehen:

Hier müssen wir die Teile einer Ganzzahl in Rückwärtszahlen weiter hinzufügen, bis die Ganzzahl gleich Null ist. Tauschen Sie die übrig gebliebenen Bits der umgekehrten Zahl aus, sobald die definierte Zahl auf Null kommt.

#enthalten
#enthalten
Unsigned Int Revbits (nicht signiert int n)

unsigned int count = sizeof (n) * 8 - 2;
unsigned int rev_n = n;
n >> = 2;
während (n)

rev_n = 2;
zählen--;

rev_n <<= count;
return rev_n;

int main ()

nicht signiert int a = 7;
printf ("%u", revbits (a));
getChar ();

Zu Beginn des Programms integrieren wir die Header -Dateien und . Dann definieren wir eine Funktion, die die Bits umkehrt. Die Variable 'unsigned n' hat einen Ganzzahl -Datentyp; So stellen wir es hier zur Verfügung. Wir erstellen eine neue Variable, um die Anzahl der Bits zu erhalten. Die Größe der Ganzzahl wird in diesem Fall mit acht multipliziert. Dann erwerben wir eine Variable namens "rev_num", um die umgedrehte Nummer zu halten.

Wir haben zusätzlich eine Variable für die while -Schleife erstellt und die Bedingung in dieser Variablen angewendet. Darüber hinaus verwenden wir eine Weile Schleife. Innerhalb der while -Schleife verwenden wir die Bedingung, dass wir die Anzahl verringern. So erhalten wir den Wert von "rev_n".

Jetzt wenden wir die main () -Funktion an und hier initialisieren wir die Variable 'Unsigned a', indem wir den Wert dieser Variablen festlegen. Der Datentyp dieser Variablen ist eine Ganzzahl. Nach Umkehrung der Bits gibt die Printf () -Methode das Ergebnis zurück. Darüber hinaus haben wir die GetChar () -Funktion verwendet.

Abschluss:

In diesem Artikel haben wir die Methoden zum Umdrehen der Bits in der C -Sprache untersucht. In der ersten Situation nehmen wir jede Ganzzahl vom Benutzer und verwenden dann den Bitgewise -Operator ~, um alle Bits der definierten Zahl umzukehren. Dann beobachten wir, wie man die Bits umdreht, indem wir für und während der Schleife verwendet werden.