Περιγραφή
Ο τελεστής ένωσης bitwise ΚΑΙ (&=) χρησιμοποιείται συχνά με μια μεταβλητή και μία σταθερά έτσι ώστε να εξαναγκάσει συγκεκριμένα bits σε μια μεταβλητή να εισέλθουν στην χαμηλή κατάσταση (δηλαδή στο 0). Αυτό συχνά αναφέρεται στα εγχειρίδια προγραμματισμού ως “εκκαθάριση” ή “επαναφορά” των bits.
Σύνταξη
x &= y; // equivalent to x = x & y;
Παράμετροι
x: χαρακτήρας, ακέραιος ή μεταβλητή long
y: ακέραια σταθερά ή χαρακτήρας, ακέραιος ή long
Παράδειγμα
Ακολουθεί πρώτα μια ανασκόπηση του τελεστή Bitwise ΚΑΙ (&).
0 0 1 1 operand1 0 1 0 1 operand2 ---------- 0 0 0 1 (operand1 & operand2) - returned result
Σε όποια bits εφαρμόζεται ο μηδενικός τελεστής bitwise ΚΑΙ, αυτά μετατρέπονται στο 0. Έτσι για παράδειγμα έχουμε ότι το myByte είναι μια μεταβλητή byte:
myByte & B00000000 = 0;
Σε όποια bits εφαρμόζεται ο τελεστής bitwise ΚΑΙ με άσσο, αυτά δεν αλλάζουν. Έτσι για παράδειγμα έχουμε:
myByte & B11111111 = myByte;
Σημείωση: Επειδή έχουμε να κάνουμε με bits σε έναν bitwise τελεστή, είναι πιο βολικό να χρησιμοποιήσουμε τις δυαδικές μορφές των σταθερών. Αυτοί οι αριθμοί παραμένουν οι ίδιοι, μόνο που είναι γραμμένοι σε διαφορετική μορφή. Απλώς δεν είναι εύκολο να κατανοηθούν. Επίσης ως παράδειγμα έχουμε το B00000000, αλλά το μηδέν σε οποιαδήποτε μορφή αριθμού είναι μηδέν.
Κατά συνέπεια, για τον μηδενισμό των bits 0 και 1 σε μια μεταβλητή, χρησιμοποιήστε τον τελεστή ένωσης bitwise KAI (&=) με την σταθερά B11111100, αφήνοντας τα υπόλοιπα ψηφία της μεταβλητής αμετάβλητα.
1 0 1 0 1 0 1 0 variable
1 1 1 1 1 1 0 0 mask
----------------------
1 0 1 0 1 0 0 0
variable unchanged
bits cleared
Εδώ είναι η ίδια παράσταση στην οποία τα bits της μεταβλητής αντικαταστάθηκαν με το σύμβολο x:
x x x x x x x x variable
1 1 1 1 1 1 0 0 mask
----------------------
x x x x x x 0 0
variable unchanged
bits cleared
Οπότε αν:
myByte = B10101010; myByte &= B11111100 == B10101000;
Επιστροφή στην σελίδα Παραπομπές Γλώσσας
