Побитовое преобразование десятичного числа в целое - PullRequest
2 голосов
/ 07 января 2011

Я не знаю, относится ли это к JavaScript.

var pi = 3.14159265
alert(pi|0)

Это выдаст 3.

Может кто-нибудь объяснить, что происходит с десятичной дробью во время побитовой операции ИЛИ?

Ответы [ 2 ]

4 голосов
/ 07 января 2011

Побитовый оператор или оператор работает только с целочисленными типами, поэтому дробный компонент молча удаляется из числа. Побитовый или с нулем всегда приведет к другому операнду. Таким образом, вы получаете 3.

0 голосов
/ 07 января 2011

Битовый оператор работает только с целыми числами.

pi (3.14 ..) преобразуется в INT, который усекает десятичные разряды до 3.

...