La fonction BITET (BITAND en anglais) effectue une opération ET logique bit à bit entre deux nombres entiers. Elle compare chaque bit des deux nombres et retourne 1 seulement si les deux bits correspondants valent 1. Cette fonction est essentielle pour la manipulation binaire, le masquage de bits, les tests de flags et le traitement de données au niveau binaire.
Concrètement, c'est elle qui isole des permissions encodées dans un entier, vérifie si un flag spécifique est activé dans un système de configuration, ou extrait des informations d'un champ binaire importé depuis une base de données ou un système embarqué.
Syntaxe de la fonction BITET
=BITET(nombre1; nombre2)Les deux arguments doivent être des entiers positifs ou nuls compris entre 0 et 281 474 976 710 655 (soit 2^48 - 1). Tout nombre négatif, décimal ou supérieur à cette limite provoque l'erreur #NOMBRE!.
Comprendre chaque paramètre de la fonction BITET
BITET prend deux nombres et les met côte à côte au niveau binaire : peu importe lequel tu places en premier, le résultat est le même puisqu'un bit ne vaut 1 que si les deux bits en face valent 1. La comparaison part toujours de la droite, du bit de poids faible vers la gauche.
Les deux arguments sont obligatoires : il n'y a pas de version à un seul nombre, et chacun doit rester un entier positif pour qu'Excel accepte de le convertir en binaire.
nombre1
: le premier nombre entier à comparer au niveau binaireIl doit être un entier positif ou nul compris entre 0 et 281 474 976 710 655 (soit 2^48 - 1). Excel convertit automatiquement ce nombre en binaire pour effectuer la comparaison bit à bit.
Par exemple, si tu passes 12 comme nombre1, Excel le convertit en binaire : 1100. Chaque bit de cette représentation sera ensuite comparé avec les bits correspondants du nombre2.
Astuce : Utilise =BASE(nombre; 2) pour visualiser la représentation binaire de ton nombre et mieux comprendre le résultat de BITET avant de l'appliquer.
nombre2
: le deuxième nombre entier à comparer au niveau binaireComme nombre1, il doit être un entier positif ou nul compris entre 0 et 281 474 976 710 655. Ce nombre sera également converti en binaire pour la comparaison.
La fonction compare chaque bit de nombre1 avec le bit correspondant de nombre2, en partant de la droite (bit de poids faible). Le résultat est la représentation décimale du nombre binaire obtenu après application du ET logique.
Attention : Si nombre1 ou nombre2 est négatif, décimal ou supérieur à 281 474 976 710 655, Excel retournera #NOMBRE!.
Pas envie d'écrire la formule BITET à la main ?
Génère-la avec notre IAExemples pratiques pas à pas
Développeur : masquage de bits pour extraire des informations
Tu es développeur et tu travailles avec des données encodées en binaire. Chaque nombre contient plusieurs informations codées dans différents bits. Pour extraire une information spécifique, tu appliques un masque binaire avec BITET.
| A | B | C | |
|---|---|---|---|
| 1 | Nombre | Masque | Résultat |
| 2 | 12 | 10 | 8 |
| 3 | 15 | 7 | 7 |
| 4 | 255 | 15 | 15 |
=BITET(12; 10)La fonction compare 12 (1100 en binaire) et 10 (1010 en binaire) bit à bit : le bit résultant vaut 1 uniquement si les deux bits correspondants valent 1. On obtient 1000 en binaire, soit 8 en décimal. Ce masquage isole certains bits spécifiques dans un nombre, particulièrement utile pour extraire des flags, des permissions ou des états encodés dans un seul entier.
Astuce de pro : Pour vérifier rapidement si un bit est activé, compare le résultat de BITET avec le masque lui-même : si =BITET(valeur; masque) = masque, alors tous les bits du masque sont présents dans la valeur.
Ingénieur réseau : validation de masques de sous-réseau
Tu es ingénieur réseau et tu dois vérifier si deux adresses IP appartiennent au même sous-réseau en appliquant un masque de sous-réseau. BITET te permet d'effectuer cette opération sur chaque octet de l'adresse IP.
| A | B | C | |
|---|---|---|---|
| 1 | Octet IP | Masque | Réseau |
| 2 | 192 | 255 | 192 |
| 3 | 168 | 255 | 168 |
| 4 | 10 | 240 | 0 |
=BITET(10; 240)Ici, la fonction combine l'octet 10 (00001010 en binaire) avec le masque 240 (11110000 en binaire) et donne 0 : aucun bit commun entre les 4 bits de poids fort du masque et les bits de l'octet. Seuls les 4 premiers bits de cet octet sont significatifs pour identifier le sous-réseau.
Programmeur : test de flags et permissions
Tu es programmeur et tu gères un système de permissions où chaque droit est représenté par un bit : lecture (1), écriture (2), exécution (4), suppression (8). Un utilisateur avec la valeur 13 possède les droits de lecture, exécution et suppression (1 + 4 + 8 = 13). Tu utilises BITET pour vérifier si un droit spécifique est accordé.
| A | B | C | |
|---|---|---|---|
| 1 | Permissions (entier) | Test (Écriture = 2) | A le droit ? |
| 2 | 13 | 2 | Non (= 0) |
| 3 | 7 | 2 | Oui (= 2) |
| 4 | 15 | 4 | Oui (= 4) |
=SI(BITET(13; 2)>0; "Oui"; "Non")La formule confronte 13 (1101 en binaire : lecture + exécution + suppression) au bit écriture 0010 : aucun bit commun, le masquage donne 0, et le SI affiche donc "Non". Cette technique est très efficace pour stocker et vérifier plusieurs booléens dans un seul entier.
Astuce de pro : Pour ajouter une permission à un utilisateur, utilise BITOU au lieu de BITET. Pour retirer une permission, utilise =BITET(permissions; BITOUEXCLUSIF(65535; droit_à_retirer)).
Envie de t'entraîner sur de vrais exercices Excel ?
M'entraînerLes erreurs fréquentes avec la fonction BITET
Deux ennuis viennent de ce que tu donnes à manger à BITET, et un troisième de ce que tu crois qu'elle fait. Un nombre négatif, décimal ou au-delà des 48 bits déclenche #NOMBRE!, tandis qu'une cellule contenant du texte ou un "N/A" importé sort un #VALEUR!.
Le dernier piège n'est pas une erreur affichée mais un mauvais résultat : confondre BITET avec ET, qui répond VRAI/FAUX là où BITET compare les bits un à un.
Erreur #NOMBRE! – Valeur hors limites ou négative
L'erreur #NOMBRE! apparaît quand l'un des arguments est négatif, décimal ou supérieur à 281 474 976 710 655 (limite de 48 bits). Les causes les plus fréquentes sont un nombre négatif importé depuis une source externe, ou un résultat intermédiaire qui dépasse la limite.
Solution : Utilise ENT(ABS(A1)) pour forcer un entier positif avant de passer la valeur à BITET. Pour les cas où la valeur peut légitimement être invalide, protège avec =SIERREUR(BITET(A1; A2); 0) pour neutraliser l'erreur.
Erreur #VALEUR! – Argument non numérique
Cette erreur survient quand l'un des arguments n'est pas un nombre. Une cellule contenant du texte, une cellule vide non protégée, ou une valeur comme "N/A" ou "" peut déclencher cette erreur.
Solution : Vérifie que les deux arguments sont bien numériques avant d'appliquer BITET avec =SI(ET(ESTNUM(A1); ESTNUM(A2)); BITET(A1; A2); "Données invalides"). Cela permet d'afficher un message explicite au lieu d'une erreur brute.
Confusion entre ET logique et BITET
La fonction ET compare des valeurs booléennes et retourne VRAI ou FAUX, tandis que BITET compare des bits individuels de nombres entiers et retourne un entier. =ET(12; 10) retourne VRAI (les deux sont différents de 0), alors que =BITET(12; 10) retourne 8 (comparaison bit à bit : 1100 ET 1010 = 1000).
Solution : Utilise ET pour des comparaisons logiques (est-ce que A est vrai ET B est vrai ?), et réserve BITET pour les opérations sur des valeurs binaires encodées. Si tu travailles avec des 0 et des 1 comme des booléens, ET est probablement la bonne fonction.
BITET vs BITOU vs BITOUEXCLUSIF
Choisis BITET quand tu veux savoir ce que deux nombres ont en commun : c'est elle qui masque des bits et qui teste si un flag précis est présent. Prends BITOU pour fusionner des flags (ajouter une permission à un utilisateur) puisqu'elle garde un bit dès qu'il apparaît dans l'un des deux nombres.
BITOUEXCLUSIF garde le bit uniquement quand les deux diffèrent : c'est l'outil pour repérer ce qui a changé entre deux valeurs ou pour retirer une permission.
| Critère | BITET | BITOU | BITOUEXCLUSIF |
|---|---|---|---|
| Opération | ET logique (AND) | OU logique (OR) | OU exclusif (XOR) |
| Bit résultant = 1 si | Les deux bits = 1 | Au moins un bit = 1 | Exactement un bit = 1 |
| Exemple avec 12 (1100) et 10 (1010) | 8 (1000) | 14 (1110) | 6 (0110) |
| Cas d'usage principal | Masquage, test de flags | Combinaison de flags, union | Détection de différences, chiffrement |
Questions fréquentes sur la fonction BITET
À quoi sert la fonction BITET dans Excel ?
BITET effectue un ET logique bit à bit entre deux nombres. Elle compare chaque bit des deux nombres et retourne 1 seulement si les deux bits correspondants valent 1. Utile pour le masquage de bits, l'extraction de flags ou le traitement binaire lors d'imports de données techniques.
Comment fonctionnent les opérations bit à bit dans Excel ?
Les opérations bit à bit comparent les nombres au niveau de leur représentation binaire. Par exemple, =BITET(12; 10) convertit 12 en 1100 et 10 en 1010 en binaire, puis compare chaque bit : 1 ET 1 = 1, 1 ET 0 = 0, 0 ET 1 = 0, 0 ET 0 = 0, ce qui donne 1000 en binaire, soit 8 en décimal.
Quelle est la différence entre BITET, BITOU et BITOUEXCLUSIF ?
BITET retourne 1 seulement si les deux bits valent 1. BITOU retourne 1 si au moins un des deux bits vaut 1. BITOUEXCLUSIF retourne 1 si exactement un des deux bits vaut 1 (mais pas les deux). Ce sont les opérateurs AND, OR et XOR classiques en programmation.
Puis-je utiliser BITET avec des nombres négatifs ?
Non, BITET accepte uniquement des entiers positifs ou nuls compris entre 0 et 281 474 976 710 655 (48 bits). Si tu utilises un nombre négatif ou supérieur à cette limite, Excel retourne #NOMBRE!. Utilise ENT(ABS(valeur)) pour convertir au préalable si nécessaire.
Comment utiliser BITET pour tester des flags binaires ?
Tu peux utiliser BITET pour vérifier si un flag spécifique est activé. Par exemple, =BITET(permissions; 4) teste si le bit de valeur 4 est activé dans la variable permissions. Si le résultat est différent de 0, le flag est activé. Combine avec SI pour un affichage lisible : =SI(BITET(A1; 4)>0; "Autorisé"; "Refusé").
BITET est-elle disponible dans toutes les versions d'Excel ?
BITET est disponible depuis Excel 2013 et dans toutes les versions suivantes, y compris Microsoft 365 et Excel pour Mac. Elle est également disponible dans Google Sheets sous son nom anglais. Les versions antérieures à 2013 ne la reconnaissent pas.
Pour aller plus loin
Les fonctions similaires : BITOU, BITOUEXCLUSIF, BITDECALG, BITDECALD, BINDEC
Bloqué sur une formule Excel ?
Pose ta question à notre assistant Excel IA, il te sort la bonne formule en quelques secondes.
Essayer l'assistant IAGratuit · 10 questions par mois

