Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

code gray et complément à 2

  • Initiateur de la discussion Initiateur de la discussion dedef
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

dedef

XLDnaute Occasionnel
Bonjour,

Je dois faire un certain nombre de conversions de nombres binaires (Gray et complément à 2). J'ai vainement cherché une solution sous excel sur ce forum et également ailleurs, mais visiblement ça ne courre pas les rues!

Quelqu'un aurait-il sous la main une telle fonction (que je suis incapable d'écrire sous VBA)?

Merci d'avance.
 
Re : code gray et complément à 2

Bonsoir.
La voici :
VB:
Function Gray(ByVal B As Long) As Long
Gray = B Xor (B \ 2)
End Function
Dans une feuille mettez des 0 en A1:C1.
En A2 :
Code:
=A1+1
En B2 :
Code:
=Gray($A2)
En C2 :
Code:
=DECBIN($B2)
Et propagez tout ça vers le bas.

Edit. Bonjour.
Pour la conversion Inverse :
VB:
Function BinG(ByVal G As Long) As Long
Do: BinG = BinG Xor G: G = G \ 2: Loop Until G = 0
End Function
Quant au complément à 2 d'une valeur V <> 0, c'est 2^n-V avec n le nombre de bits désirés. Sur les 32 bits c'est une inversion de signe.
Mais pour les vérifications, la fonction DECBIN ne restitue pas bien les valeurs négatives. Alors utilisez ça :
VB:
Function TxtB(ByVal N As Long) As String
TxtB = N And 1: N = (N And &H7FFFFFFF) \ 2 Or &H40000000 And N < 0
Do While N > 0: TxtB = (N And 1) & TxtB: N = N \ 2: Loop
End Function
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

P
Réponses
1
Affichages
935
A
Réponses
0
Affichages
2 K
AdrienDOR
A
K
Réponses
4
Affichages
2 K
K
M
Réponses
1
Affichages
1 K
Max60150
M
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…