Einführung in bitweises UND, bitweises ODER und bitweises XOR

& Bitwise und
| Bitwise oder
^ Bitwise XOR

  1. Bitweise UND-Verknüpfung Der bitweise UND-Operator "&" ist ein binärer Operator. Seine Funktion ist die binäre Phase UND, die jeder der beiden an der Operation beteiligten Zahlen entspricht. Nur wenn die beiden entsprechenden Binärbits beide 1 sind, ist das Ergebnisbit 1, andernfalls ist es 0. Die an der Operation beteiligte Nummer wird in Form eines Komplements angezeigt.
    Zum Beispiel: 9 & 5 können wie folgt geschrieben werden: 00001001 (Zweierkomplement von 9) & 00000101 (Zweierkomplement von 5) 00000001 (Zweierkomplement von 1) Siehe 9 & 5 = 1.
    Die bitweise UND-Verknüpfung wird normalerweise verwendet, um bestimmte Bits zu löschen oder bestimmte Bits zu reservieren. Löschen Sie beispielsweise die hohen acht Bits von a bis 0 und reservieren Sie die niedrigen acht Bits für eine & 255-Operation (die Binärzahl von 255 lautet 0000000011111111).
    main () { int a = 9, b = 5, c; c = a & b; printf ("a =% d \ nb =% d \ nc =% d \ n", a, b, c); }



  2. Bitweises ODER Der bitweise ODER-Operator "|" ist ein binärer Operator. Seine Funktion ist die binäre Phase ODER jeder der beiden an der Operation beteiligten Zahlen. Solange eines der beiden entsprechenden Binärbits 1 ist, ist das Ergebnisbit 1. Die beiden an der Operation beteiligten Zahlen erscheinen in der eigenen Ergänzung.
    Zum Beispiel: 9 | 5 kann wie folgt geschrieben werden: 00001001 | 00000101
    00001101 (13 in Dezimalzahl) ist zu sehen 9 | 5 = 13
    main () { int a = 9, b = 5, c; c = a | b; printf ("a =% d \ nb =% d \ nc =% d \ n", a, b, c); }



  3. Bitweise XOR-Operation Der bitweise XOR-Operator " " ist ein binärer Operator. Seine Funktion ist das XOR der entsprechenden Binärbits der beiden an der Operation beteiligten Zahlen. Wenn die beiden entsprechenden Binärbits unterschiedlich sind, ist das Ergebnis 1. Teilnehmende Operanden erscheinen immer noch im eigenen Komplement. Beispielsweise kann 9 5 wie folgt geschrieben werden: 00001001 ^ 00000101 00001100 (12 in Dezimalzahl)
    main () { int a = 9; a = a ^ 15; printf ("a =") % d \ n ”, A); }



Ich denke du magst

Origin blog.csdn.net/yunxiang1224/article/details/88552823
Empfohlen
Rangfolge