| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Operators/Bitwise_NOT | [Back] [Original] |
Get to know MDN better
Cette page a t traduite partir de l'anglais par la communaut. Vous pouvez contribuer en rejoignant la communaut francophone sur MDN Web Docs.
Cette fonctionnalit est bien tablie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.
L'oprateur binaire NON (~) prend l'oppos de chaque bit de son oprande et fournit la valeur ainsi obtenue. l'instar des autres oprateurs binaires, il convertit son oprande en un entier sign sur 32 bits.
const a = 5; // 00000000000000000000000000000101
const b = -3; // 11111111111111111111111111111101
console.log(~a); // 11111111111111111111111111111010
// Expected output: -6
console.log(~b); // 00000000000000000000000000000010
// Expected output: 2
~a;
L'oprande est converti en un entier sign sur 32 bits. Les nombres avec plus de 32 bits voient leurs bits les plus significatifs tre tronqus. Voici un exemple o l'entier qui suit est suprieur une valeur pouvant tre exprime sur 32 bits : la conversion crte la valeur pour obtenir un entier sign sur 32 bits :
Avant : 11100110111110100000000000000110000000000001 Aprs : 10100000000000000110000000000001
Pour former le rsultat, chaque bit qui compose l'oprande est invers.
La table de vrit pour l'opration NON est :
| a | NON a |
|---|---|
| 0 | 1 |
| 1 | 0 |
9 (base 10) = 00000000000000000000000000001001 (base 2)
--------------------------------
~9 (base 10) = 11111111111111111111111111110110 (base 2) = -10 (base 10)
L'entier sign sur 32 bits est invers selon le complment deux. Autrement dit, la prsence du bit le plus significatif est utilise pour exprimer des entiers ngatifs.
Appliquer un NON binaire sur n'importe quel nombre x fournira la valeur -(x + 1). Ainsi, ~-5 renverra 4.
tant donn l'utilisation d'une reprsentation sur 32 bits, ~-1 et ~4294967295 (2^32 - 1) donneront tous les deux 0.
~0; // -1
~-1; // 0
~1; // -2
| Spcification |
|---|
| ECMAScript 2027 LanguageSpecification # sec-bitwise-not-operator |
Cette page a t modifie le 17 fvr. 2025 par les contributeurices du MDN.
Certaines parties de ce contenu sont protges par le droit d'auteur 19982026 des contributeurs individuels de mozilla.org. Contenu disponible sous une licence Creative Commons.
| Web Proxy Viewer | New URL | Original Page |