[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Operators/Bitwise_NOT [Back]  [Original]

NON binaire (~) - JavaScript | MDN

Cette page a t traduite partir de l'anglais par la communaut. Vous pouvez contribuer en rejoignant la communaut francophone sur MDN Web Docs.

View in English Always switch to English

NON binaire (~)

Baseline Large disponibilit

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.

Dans cet article

Exemple interactif

const a = 5; // 00000000000000000000000000000101
const b = -3; // 11111111111111111111111111111101

console.log(~a); // 11111111111111111111111111111010
// Expected output: -6

console.log(~b); // 00000000000000000000000000000010
// Expected output: 2

Syntaxe

js
~a;

Description

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
js
 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.

Exemples

Utiliser le NON binaire

js
~0; // -1
~-1; // 0
~1; // -2

Spcifications

Spcification
ECMAScript 2027 LanguageSpecification
# sec-bitwise-not-operator

Compatibilit des navigateurs

Voir aussi


Web Proxy Viewer  |  New URL  |  Original Page