ホームページ > ウェブフロントエンド > jsチュートリアル > ビットごとの OR による浮動小数点演算: Math.floor() より高速?

ビットごとの OR による浮動小数点演算: Math.floor() より高速?

Patricia Arquette
リリース: 2024-11-20 13:57:15
オリジナル
817 人が閲覧しました

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 lint チェックに合格しない可能性がある
  • 32 ビット符号付き整数に限定される
  • 比較動作は次のものと異なりますMath.floor:

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

以上がビットごとの OR による浮動小数点演算: Math.floor() より高速?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート