Wie das bitweise & Operator in C-Programmierung verwenden

Wie das bitweise OR-Operator in C-Programmierung, die bitweise AND-Operator, , Wirkt sich auch auf Bits in einem Byte. Anders als OR, welche Bits setzt das Bit die UND-Verknüpfung Masken Werte. Es ist einfacher, ein Programm Beispiel zu zeigen, als vollständig zu beschreiben, was Maske Mittel.

PUTTEN Putchar () ARBEITEN

# include int main () {int ch-printf ( "Drücken Sie die Eingabetaste:") -getchar () - ch = 'H'-putchar (ch) CH =' i'-putchar (ch) -putchar ( '!' -return) (0) -}

Übung 1: Ändern Sie den Quellcode von Putting putchar () zu arbeiten, so dass eine bitweise UND-Verknüpfung Ort statt eines bitweise OR nimmt. Ändern Sie die Konstante SET in Zeile 2 auf den Wert 223. Ändern Sie den | (Bitweise OR) in Zeile 12 zu der (Bitweise AND). Und schließlich, ändern Sie die printf () Anweisung in Zeile 15, so dass die | wird ersetzt durch die Charakter. Erstellen und ausführen.

Hier ist die Ausgabe für den Wert 255 (alle Bits gesetzt):

Geben Sie einen Wert von 0 bis 255: 25511111111 255 11011111 223 = 11011111 223

Die bitweise aus dem sechsten Bit-Masken, was seinen Wert auf 0 zurückgesetzt, in der endgültigen Berechnung werden. Keine anderen Bits sind betroffen. Um weitere Beispiele zu sehen, die versuchen, die Werte 170 und 85 Uhr, wie die Bits durch die Maske fallen.

CHARACTER VARIABLE MADNESS

# include int main () {char a, b, c, da = 'W'-b = a + 24 c = b + 8-d =' n'-printf ( "% c% c% c% c ", a, b, c, d) -return (0) -}

Übung 2: Ändern Sie den Quellcode von Zeichenvariable Madness, so dass eine bitweise AND-Operation statt anstelle eines bitweise nimmt OR. Ändern Sie die Linie 9, so dass die printf () Erklärung aufgefordert: # 147-Typ in einem Text: # 148- ändern Linie 14, ersetzt | mit und ersetzt den Wert 32 mit 223. erstellen und ausführen.

Ebenso wie die bitweise OR setzt das sechste Bit großen Text in Kleinbuchstaben zu konvertieren, das sechste Bit mit einer bitweise Maskierung und wandelt Text in Kleinbuchstaben in Großbuchstaben geschrieben. Natürlich sind die bitweise UND auch Masken aus dem Raum Charakter, Ändern Sie den Wert auf 0, was keine darstellbaren Zeichen ist.

Übung 3: Ändern Sie Ihre Lösung für Übung 2, so dass nur die Buchstaben des Alphabets betroffen sind.

Menü