2013-03-08 16 views

Trả lời

7

Bạn có thể làm một Bitwise NOT và sau đó VÀ họ: a & ~b

Given:

a  = 1010111110110001 
b  = 0101011100010010 

Sau đó, phủ nhận thành b cho:

~b  = 1010100011101101 

và làm a & ~b:

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

đơn giản:

result = op1 & ~op2; 

này sẽ đảo ngược Bitwise toán hạng thứ hai (1 trở thành 0 và ngược lại). Sau này, bạn sử dụng bitwise và. Điều này thường được gọi là sử dụng một bitmask.

6

Bạn sẽ có thể làm một phép toán AND với sự phủ định Bitwise:

result = val1 & ~val2; 
4

Bạn muốn có một phép toán AND của những lời khen của các toán hạng thứ hai.

int fun(int x, int y) 
{ 
    return x & ~y; 
} 
Các vấn đề liên quan