>웹 프론트엔드 >JS 튜토리얼 >Bitwise OR을 사용한 플로어링 부동: Math.floor()보다 빠름?

Bitwise OR을 사용한 플로어링 부동: Math.floor()보다 빠름?

Patricia Arquette
Patricia Arquette원래의
2024-11-20 13:57:15817검색

Flooring Floats with Bitwise OR: Faster Than Math.floor()?

비트 OR 0을 사용한 바닥 숫자

비트 OR 연산자를 사용하여 바닥 부동 소수점 숫자에 대한 독특한 방법이 나타났습니다.

var a = 13.6 | 0; // a == 13

이 기술을 자세히 살펴보고 그 메커니즘을 살펴보고 표준 Math.floor 함수와 비교해 보겠습니다.

어떻게 작동하나요?

비트 단위 연산이 작동합니다. 부호 있는 32비트 정수에 대해. 따라서 부동 소수점 숫자에 비트별 OR을 적용하면 소수 부분이 잘려 정수로 효과적으로 변환됩니다.

Math.floor에 비해 장점이 있나요?

벤치마킹 결과는 다음과 같습니다. 이 방법은 Math.floor보다 약간 더 빠를 수 있습니다.

단점:

  • JavaScript 린팅 검사를 통과하지 못할 수 있습니다
  • 32개로 제한됨 비트 부호 있는 정수
  • Math.floor와 비교 동작이 다름:

    • Math.floor(NaN) === NaN
    • (NaN | 0) === 0

위 내용은 Bitwise OR을 사용한 플로어링 부동: Math.floor()보다 빠름?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.