70,020
社区成员




unsigned int val1=0x00001111;
unsigned int val2=0x00000204;
unsigned int val;
unsigned v3 = -val1; // v3 = 0xffffffff - 0x00001111 + 1 = 0xffffeeef, 这个是解决问题的关键
val1=val2 & (-val1); // val1 = 0x00000204 & 0xffffeeef = 0x00000204
val2=val1 | val2; // val2 = 0x00000204 | 0x00000204 = 0x00000204
val=val1 & val2; // val = 0x00000204 & 0x00000204 = 0x00000204