La fonction BITOU (BITOR en anglais) effectue un OU logique bit à bit entre deux nombres entiers. Tu développes des applications, tu configures des registres matériels, ou tu manipules des flags binaires ? BITOU compare chaque bit des deux nombres et active le bit résultant si au moins l'un des deux bits source vaut 1. C'est l'outil de référence pour fusionner des masques binaires, activer des options multiples ou configurer des permissions de manière efficace.
Concrètement, c'est elle qui combine des permissions d'accès (Lecture + Écriture = 3), fusionne des masques de configuration de registres matériels pour des microcontrôleurs, ou vérifie qu'un ensemble complet de flags système est activé.
Syntaxe de la fonction BITOU
=BITOU(nombre1; nombre2)Si l'un des arguments est un nombre décimal, Excel le tronque automatiquement vers zéro avant l'opération. Un nombre négatif ou supérieur à 281 474 976 710 655 génère l'erreur #NOMBRE!.
Comprendre chaque paramètre de la fonction BITOU
BITOU prend deux nombres, ni plus ni moins, et tous les deux sont obligatoires. Bonne nouvelle : leur ordre n'a aucune importance, car =BITOU(5;3) et =BITOU(3;5) donnent exactement le même résultat. Retiens juste la même contrainte pour chacun : un entier positif, jamais au-delà de 281 474 976 710 655.
nombre1
: le premier nombre entier de l'opération OU bit à bitIl doit être positif et inférieur à 281 474 976 710 656. Si tu fournis un nombre décimal, Excel le tronquera automatiquement. Ce nombre représente généralement un premier masque de bits, un ensemble de flags ou une configuration à combiner.
Astuce : Pour mieux visualiser ce qui se passe, utilise =DEC2BIN(nombre1) pour voir la représentation binaire de ton nombre. Par exemple, =DEC2BIN(5) retourne "101". Cela t'aide à comprendre quels bits sont actifs avant l'opération.
nombre2
: le deuxième nombre entier de l'opération OU bit à bitMêmes contraintes que nombre1 : il doit être un entier positif inférieur à 281 474 976 710 656. BITOU compare chaque bit de nombre1 avec le bit correspondant de nombre2, et active le bit résultant si au moins l'un des deux bits source est à 1.
Astuce : L'opération OU bit à bit suit cette règle simple : 0 OU 0 = 0, 0 OU 1 = 1, 1 OU 0 = 1, 1 OU 1 = 1. C'est l'opération de fusion par excellence en programmation, parfaite pour combiner plusieurs options ou permissions.
Exemples pratiques pas à pas
Développeur : combiner des flags de permissions
Tu es développeur et tu gères un système de permissions avec des flags binaires. Chaque permission est représentée par un bit : Lecture = 1 (binaire 001), Écriture = 2 (binaire 010), Exécution = 4 (binaire 100). Tu veux combiner plusieurs permissions pour créer des profils d'accès sans avoir à parcourir chaque bit à la main.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Permission 1 | Permission 2 | Permissions combinées | Binaire |
| 2 | 1 | 2 | 3 | 11 |
| 3 | 1 | 4 | 5 | 101 |
| 4 | 2 | 4 | 6 | 110 |
| 5 | 3 | 4 | 7 | 111 |
| 6 | 1 | 6 | 7 | 111 |
=BITOU(A2;B2)La fonction fusionne les deux masques de permissions : Lecture (1) combiné à Écriture (2) donne 3, soit les deux droits simultanément. Sur les lignes suivantes, le même principe accumule Lecture, Écriture et Exécution jusqu'à 7. Un bit reste actif dès qu'il apparaît dans l'un des deux nombres.
Astuce de pro : Pour visualiser le résultat en binaire, enchaîne avec =DEC2BIN(BITOU(A2;B2)) dans une colonne auxiliaire. Tu verras instantanément quels bits ont été activés par la fusion.
Ingénieur électronique : configuration de registres
Tu es ingénieur électronique et tu configures des registres de contrôle pour un microcontrôleur. Tu dois activer plusieurs fonctionnalités simultanément en fusionnant différents masques de bits. Chaque masque active un ensemble de fonctions matérielles que tu récupères dans la datasheet ou dans des bibliothèques.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Masque A | Masque B | Config finale | Description |
| 2 | 8 | 16 | 24 | Timer + ADC |
| 3 | 32 | 64 | 96 | UART + SPI |
| 4 | 15 | 240 | 255 | Ports combinés |
| 5 | 7 | 56 | 63 | GPIO multiples |
| 6 | 128 | 256 | 384 | Interruptions |
=BITOU(A2;B2)Ici, la fonction fusionne deux masques de registre : 8 (bit 3 actif) combiné à 16 (bit 4 actif) donne 24, une valeur où les deux bits sont à 1. Plus bas, 15 (bits 0 à 3) et 240 (bits 4 à 7) couvrent ensemble les 8 premiers bits et donnent 255. La valeur finale est directement inscrite dans le registre de contrôle.
Programmeur système : fusion de masques binaires complémentaires
Tu es programmeur système et tu travailles sur des masques d'interruptions ou des flags d'état. Tu dois fusionner différents sous-masques pour créer une configuration globale et vérifier que l'ensemble des bits requis est bien activé.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Flag système 1 | Flag système 2 | Masque combiné | Binaire |
| 2 | 85 | 170 | 255 | 11111111 |
| 3 | 15 | 240 | 255 | 11111111 |
| 4 | 127 | 128 | 255 | 11111111 |
| 5 | 63 | 192 | 255 | 11111111 |
| 6 | 31 | 224 | 255 | 11111111 |
=BITOU(A2;B2)La fonction fusionne 85 (01010101 en binaire) et 170 (10101010 en binaire), deux masques parfaitement complémentaires : leur OU active tous les bits et donne 255. C'est une technique courante pour vérifier qu'on a bien couvert toutes les options ou pour créer un masque complet à partir de sous-masques.
Envie de t'entraîner sur de vrais exercices Excel ?
M'entraînerLes erreurs fréquentes avec la fonction BITOU
BITOU est exigeante sur ce qu'elle accepte en entrée, et c'est presque toujours là que ça coince. Un nombre négatif ou un masque qui dépasse les 48 bits autorisés déclenche #NOMBRE!, tandis qu'une cellule contenant du texte impossible à convertir renvoie #VALEUR!. Le piège commun : ces trois cas ne donnent pas la même erreur, donc le code qui s'affiche te dit déjà où chercher.
Utiliser des nombres négatifs
BITOU ne fonctionne qu'avec des nombres entiers positifs. Un nombre négatif comme -5 génère #NOMBRE! car la représentation en complément à deux n'est pas supportée.
Solution : Vérifie que tes deux arguments sont strictement positifs avant l'opération. Si tes données peuvent être négatives, filtre-les avec =SI(A1>=0; BITOU(A1;B1); "Erreur") pour éviter les erreurs silencieuses.
Dépasser la limite de 48 bits
Excel limite BITOU aux nombres de 48 bits maximum, soit 281 474 976 710 655. Au-delà, tu obtiens #NOMBRE! sans autre indication.
Solution : Vérifie tes valeurs d'entrée avant l'appel. Si tes masques peuvent dépasser cette borne, ajoute une validation : =SI(A1>281474976710655; "Dépassement"; BITOU(A1;B1)).
Fournir du texte non numérique
BITOU attend des valeurs numériques. Si une cellule contient du texte qui ne peut pas être converti en nombre (par exemple "abc"), Excel retourne #VALEUR!.
Solution : Assure-toi que tes cellules source contiennent bien des nombres. Note que "5" (texte qui ressemble à un nombre) est automatiquement converti, mais "abc" ne l'est pas. Utilise ESTNUM(A1) pour valider avant l'appel.
Astuces avancées avec BITOU
Visualise chaque étape avec DEC2BIN
Pour déboguer tes opérations binaires, crée une colonne auxiliaire avec =DEC2BIN(BITOU(A1;B1);8) pour afficher le résultat sur 8 bits. Tu verras instantanément quels bits ont été activés par la fusion, sans avoir à convertir de tête.
Ajoute aussi =DEC2BIN(A1;8) et =DEC2BIN(B1;8) pour comparer les trois colonnes côte à côte.
Combine plusieurs masques en cascade
BITOU ne prend que deux arguments, mais tu peux l'imbriquer pour fusionner plus de deux masques : =BITOU(BITOU(A1;B1);C1) combine trois valeurs en une seule opération.
Utile pour assembler des configurations provenant de plusieurs sources (datasheet, bibliothèques, calculs) avant d'écrire la valeur finale dans un registre.
Vérifie qu'un flag précis est actif avec BITET
Après avoir fusionné deux masques avec BITOU, utilise BITET pour vérifier si un bit spécifique est bien activé dans le résultat : =SI(BITET(BITOU(A1;B1);4)=4;"Bit 2 actif";"Bit 2 inactif").
Cette combinaison te permet de tester l'activation d'une fonctionnalité précise dans un masque de configuration composite.
Questions fréquentes sur la fonction BITOU
Quelle est la différence entre BITOU et la fonction OU classique ?
BITOU effectue un OU logique bit à bit au niveau binaire, tandis que OU évalue des conditions booléennes. Par exemple, =BITOU(5;3) retourne 7 (binaire : 101 OU 011 = 111), alors que =OU(5;3) retourne simplement VRAI car les deux valeurs sont non nulles. BITOU travaille au niveau des bits individuels, OU au niveau des valeurs complètes.
BITOU fonctionne-t-elle avec des nombres décimaux ?
Non, BITOU nécessite des nombres entiers. Si tu fournis des nombres décimaux, Excel les tronque automatiquement vers zéro avant d'effectuer l'opération. Par exemple, =BITOU(5.9;3.2) est traité comme =BITOU(5;3) et retourne 7. Fais attention à cette troncature automatique qui peut causer des surprises dans tes calculs.
Quelle est la limite maximale pour les nombres avec BITOU ?
BITOU accepte des nombres entiers jusqu'à 281 474 976 710 655 (2^48 - 1), soit 48 bits. Au-delà, Excel retourne l'erreur #NOMBRE!. Cette limite est largement suffisante pour la plupart des usages en programmation et ingénierie, même pour des applications embarquées avancées.
Peut-on combiner BITOU avec d'autres fonctions binaires ?
Absolument. BITOU se combine très bien avec BITET (ET bit à bit), BITOUEXCLUSIF (XOR bit à bit), BITDECALG (décalage à gauche), BITDECALD (décalage à droite) et DEC2BIN (conversion en binaire). C'est particulièrement utile pour manipuler des flags, créer des masques complexes ou implémenter des algorithmes de bas niveau.
Comment visualiser le résultat de BITOU en binaire ?
Utilise DEC2BIN pour convertir le résultat en binaire. Par exemple, =DEC2BIN(BITOU(5;3)) affiche "111", ce qui te permet de voir exactement quels bits ont été activés par l'opération OU. Tu peux aussi ajouter un deuxième paramètre à DEC2BIN pour fixer le nombre de bits affichés : =DEC2BIN(BITOU(5;3);8) affiche "00000111" sur 8 bits.
BITOU peut-elle combiner plus de deux masques en une seule formule ?
Pas directement, car BITOU n'accepte que deux arguments. Mais tu peux imbriquer les appels : =BITOU(BITOU(A1;B1);C1) combine trois masques en cascade. Pour un grand nombre de masques stockés dans une plage, envisage une approche avec RÉDUIRE (Excel 365) ou une colonne de calcul intermédiaire.
Pour aller plus loin
Les fonctions similaires : BITET, BITOUEXCLUSIF, BITDECALG, BITDECALD, DECBIN
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
