Decalage de bits

lapolo13 Messages postés 9 Date d'inscription mercredi 3 mars 2004 Statut Membre Dernière intervention 14 mai 2004 - 18 mars 2004 à 14:18
radioham Messages postés 39 Date d'inscription mardi 2 septembre 2003 Statut Membre Dernière intervention 7 décembre 2006 - 19 sept. 2005 à 20:58
Salut

J'ai besoin de décaler des bits vers la droite. Je voulais savoir si il existe une fonction de Vb6 qui permet de le faire;

De plus est ce que quelqu'un connait le code Ascii de la touche Suppr (celle à coté de la touche Fin)

Merci de vos réponse

lapolo13

6 réponses

econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
18 mars 2004 à 14:24
tu peux convertir ton nombre en décimal, le diviser par deux, et le reconvertir en binaire ... Mais il y a surement quelque chose qui fait çà tout aussi bien.

Quant à la touche Suppr ... Euh ... g fait des tests, mais ... pfiiuuutt rien du tout ! Je vais approfondrir

Manu
0
lapolo13 Messages postés 9 Date d'inscription mercredi 3 mars 2004 Statut Membre Dernière intervention 14 mai 2004
18 mars 2004 à 15:00
ok pour le décalage, j'ai trouvé une solution.

Maintenant j'essaye de faire un ET logique entre deux valeurs en hexa ou en binaire. J'essaye avec le AND mais j'y arrive pas , j'ai des pbs de type.

As tu une solution?

Pour la touche suppr j'en ai essayé plein, ms sans succés

lapolo13
0
cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 11
18 mars 2004 à 16:54
Salut
La touche Suppr ne correspond à aucun caractère donc elle n'a pas de KeyAscii = > KeyPress inutilisable.Elle a seulement un KeyCode 46 &H2E
utilisable dans une procédure d'événement
KeyDown ou KeyUp
0
radioham Messages postés 39 Date d'inscription mardi 2 septembre 2003 Statut Membre Dernière intervention 7 décembre 2006
4 août 2005 à 00:22
Salut,
Je me heurte au même problème : shifter à droite ou à gauche un mot de type byte SANS PASSER PAR les multiplications ou divisions (On a quitté le monde de CII 10020 depuis longtemps !!!). Et je voudrais éviter les boucles tordues à base de 2^x qui peuvent apporter une solution. En effet lorsque int(A / 2^x)>1 le bit considéré est à 1. Mais il faut traiter le mot "en descendant" de 2^n à 2^0 ! Le tout avec du while...wend, du do..loop until(..) et autres amusements que je souhaite éviter.

Il doit bien exister sous VB des instructions de decalage genre : ShiftLeft(NomVariable, NombreDeDécalages) avec possibilité de connaitre l'état du bit "éjecté" !!!

En fait, je veux calculer le checksum d'une chaine de commande GPS dont la règle est assez curieuse : addition des mots suivie d'une mise au modulo 256.
Exemple : 10 02 06 89 01 00 00 8A 10 03 où 8A correspond au traitement de 89 01 00 00. Pour l'instant je ne fais pas mieux que 90 !!!!!!! C'est un peu loupé.

Si vous avez une idée, un conseil par avance merci pour au moins deux perdus !
Bien cordiales salutations de radioham
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nico_co Messages postés 2 Date d'inscription samedi 17 avril 2004 Statut Membre Dernière intervention 26 septembre 2005
19 sept. 2005 à 17:43
tu as essayer de luis preciser que c'etai de l'hexa 89+1=90

&h89+&h1=&h8a
0
radioham Messages postés 39 Date d'inscription mardi 2 septembre 2003 Statut Membre Dernière intervention 7 décembre 2006
19 sept. 2005 à 20:58
Point sot !!!!!!
0
Rejoignez-nous