¿Qué hacen value & 0xff en Java?

Tengo el siguiente código Java: byte value = 0xfe; // corresponds to -2 (signed) and 254 (unsigned) int result = value & 0xff; El resultado es 254 cuando se imprime, pero no tengo idea de cómo funciona este código. Si el &operador es simplemente bit a bit, ¿por qué no da como resultado un...