Por que o operador bit a bit e em curto-circuito?

Todos sabemos que o @ lógi&& curto-circuito do operador se o operando esquerdo forfalse, porque sabemos que se um operando forfalse, o resultado também éfalse.

Por que não o bit a bit& operador também curto-circuito? Se o operando esquerdo for0, então sabemos que o resultado também é0. Cada idioma em que testei isso (C, Javascript, C #) avalia os dois operandos em vez de parar após o primeir

Existe alguma razão pela qual seria uma má idéia deixar o& curto-circuito do operador? Caso contrário, por que a maioria dos idiomas não produz um curto-circuito? Parece uma otimização óbvia.

questionAnswers(10)

yourAnswerToTheQuestion