2013-03-08 1 views

Antwort

7

Sie können eine bitweise nicht und dann UND sie: a & ~b

Gegeben:

a  = 1010111110110001 
b  = 0101011100010010 

Dann b negiert gibt:

~b  = 1010100011101101 

und tun a & ~b:

a  = 1010111110110001 
~b  = 1010100011101101 
------------------------- 
a & ~b = 1010100010100001 
6

einfach:

result = op1 & ~op2; 

dies den zweiten Operanden bitweise invertiert (1 zu 0 und umgekehrt). Danach verwenden Sie ein bitweises und. Dies wird oft mit einer Bitmaske aufgerufen.

6

sollten Sie in der Lage sein, eine bitweise UND mit dem bitweise Negation zu tun: UND-Verknüpfung des Kompliment des zweiten Operanden

result = val1 & ~val2; 
4

Sie eine bitweise möchten.

int fun(int x, int y) 
{ 
    return x & ~y; 
}