0

Доброго времени суток.

Возникла необходимость в коде на JS поделить число на 255 и отбросить дробную часть. На просторах интернета нашел пример:

counter/255|0

где counter - искомое целочисленное.

Поясните пожалуйста - что оно означает данное выражение? Понимаю, вначале counter делится на 255, а потом идет побитовое ИЛИ с нулем? Как получается, что число после запятой отбрасывается?

Oleg
  • 45
  • Битовые операции в js работают только с целыми 32-битными числами. Поэтому JS загоняет все операнды в эти рамки. И, кстати, если counter будет достаточно большим, то результат будет неверный – Alexey Ten Apr 30 '17 at 05:44
  • Спасибо. А можете прояснить 2 момента:
    1. При выполнении побитового ИЛИ между операндами, часть которая выходит за рамки 32 бит- дробная часть - просто отбрасывается? Верно?
    2. Как тогда отбросить дробную часть, чтобы получить верный результат при достаточно большом counter?
    – Oleg Apr 30 '17 at 05:48
  • Math.floor, например – Alexey Ten Apr 30 '17 at 07:10

0 Answers0