bitwise-and

¿Qué significa (number & - number) en la programación de bits? [duplicar]

Esta pregunta ya tiene una respuesta aquí: significado de (número) & (número) ... val) % MOD; i += ( (i) & (-i) ); } } ¿Puede explicar lo que hacen en el código usando ( (i) & (-i) )?

¿Qué hace value & 0xff en Java?

Tengo el siguiente código Java: byte value = 0xfe; // corresponds to -2 (signed) and 254 (unsigned) int result = value & ... igo. Si el operador & es simplemente a nivel de bits, entonces ¿por qué no resulta en un byte y en su lugar en un entero?