Por que OR 0 números redondos em JavaScript?

Tenho a impressão de que o tipo Number em Javascript armazena qualquer número, número inteiro ou float, de acordo com o padrão de ponto flutuante IEEE. Em caso afirmativo, então por que o bitwise OR-ing um número com 0 é arredondado para baixo?

Brincando com algumas outras operações de bits, parece que ao aplicar operações de bits a números de ponto flutuante, o número é arredondado para 0 e então as operações de bit são aplicadas (com os números na representação de complemento de Dois em vez de IEEE). Isso está correto?

questionAnswers(3)

yourAnswerToTheQuestion