Maison >interface Web >js tutoriel >Le revêtement de sol flotte avec Bitwise OR : plus rapide que Math.floor() ?

Le revêtement de sol flotte avec Bitwise OR : plus rapide que Math.floor() ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-20 13:57:15819parcourir

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

Nombres flottants au sol avec OU au niveau du bit 0

Une méthode unique a fait surface pour les nombres flottants au sol à l'aide d'un opérateur OU au niveau du bit :

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

Plongeons dans cette technique, explorons ses mécanismes et comparons-la à la fonction standard Math.floor.

Comment ça marche ?

Les opérations au niveau des bits fonctionnent sur des entiers signés de 32 bits. Par conséquent, l'application d'un OU au niveau du bit à un nombre flottant le convertit efficacement en un nombre entier, tronquant ainsi la partie fractionnaire.

Avantages par rapport à Math.floor ?

Les résultats de l'analyse comparative suggèrent que cette méthode peut être légèrement plus rapide que Math.floor.

Inconvénients :

  • Peut ne pas réussir les contrôles de peluchage JavaScript
  • Limité à 32- entiers signés par bits
  • Le comportement comparatif diffère de Math.floor :

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn