Maison > interface Web > js tutoriel > Qu'est-ce que l'opérateur Double Tilded (~~) en JavaScript et comment se compare-t-il à Math.floor() ?

Qu'est-ce que l'opérateur Double Tilded (~~) en JavaScript et comment se compare-t-il à Math.floor() ?

Mary-Kate Olsen
Libérer: 2024-11-01 09:05:02
original
326 Les gens l'ont consulté

What is the Double Tilded Operator (~~) in JavaScript and How Does It Compare to Math.floor()?

Opérateur double tilded (~~) en JavaScript

Question :

Dans certains codes échantillons, l'opérateur "double tilde" (~~) est rencontré. Quel est son objectif et en quoi diffère-t-elle de la fonction Math.floor() ?

Réponse :

L'opérateur ~~ est un opérateur NOT Double Bitwise. Elle fournit un résultat numérique plus rapide et positif que la fonction Math.floor().

L'opération Double Bitwise NOT convertit le nombre en un entier de 32 bits, puis applique l'opérateur NOT au niveau du bit (~) deux fois. La valeur résultante est :

~~x = -(~~~x + 1)
Copier après la connexion

Puisque l'opérateur ~ inverse les 0 et les 1 dans le modèle de bits, l'opération ~~ supprime efficacement la partie décimale du nombre positif en la tronquant vers zéro.

Différences par rapport à la fonction Math.floor() :

Bien que puisse être utilisé comme un substitut plus rapide à Math.floor() pour les nombres positifs, il ne donne pas le même résultat pour les nombres négatifs. supprime simplement la partie décimale, tandis que Math.floor() arrondit à l'entier le plus proche.

Exemple :

console.log(~~2.3); // Output: 2 (equivalent to Math.floor(2.3))
console.log(~~-2.3); // Output: -2 (different from Math.floor(-2.3) which equals -3)
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal