Was macht value & 0xff in Java?

Ich habe den folgenden Java-Code: byte value = 0xfe; // corresponds to -2 (signed) and 254 (unsigned) int result = value & 0xff; Das Ergebnis ist 254 beim Drucken, aber ich habe keine Ahnung, wie dieser Code funktioniert. Wenn der &Operator einfach bitweise ist, warum führt er dann nicht...