Décallage de bit, ET logique et OU logique en VB ?

Décallage de bit, ET logique et OU logique en VB ? - VB/VBA/VBS - Programmation

Marsh Posté le 09-03-2003 à 22:32:52    

Bonjour , voila je suis en train de mettre en application un algorythme de chryptage trouvé sur le net, mais je ne trouve pas les operateurs necessaire en VB....  
 
 
QQun pourrait me dire comment traduire ca en VB ? :  

Code :
  1. key[i] = ((key[i]<<4) & 240) | ((key[i]>>4) & 15)


 
 
Paske je galere depuis des heures, sans succes, merci d'avance...  
 


---------------
Ptit con de goret je t'emmerde ^_^
Reply

Marsh Posté le 09-03-2003 à 22:32:52   

Reply

Marsh Posté le 09-03-2003 à 23:01:28    

_Maximus_ a écrit :

Bonjour , voila je suis en train de mettre en application un algorythme de chryptage trouvé sur le net, mais je ne trouve pas les operateurs necessaire en VB....  
 
 
QQun pourrait me dire comment traduire ca en VB ? :  

Code :
  1. key[i] = ((key[i]<<4) & 240) | ((key[i]>>4) & 15)


 
 
Paske je galere depuis des heures, sans succes, merci d'avance...  
 
 


 
 
il semble qu'il y es des tableaux "key[i]", le & le signe "*".
Le signe "|", c'est la comparaison de nombre binaire
 


Description
Utilisé pour effectuer une opération OR binaire sur deux expressions.
Syntaxe
result = expression1 | expression2
La syntaxe de l'opérateur | comprend les éléments suivants :
 
Élément Description  
result Variable  
expression1 Expression  
expression2 Expression  
 
 
Notes
L'opérateur | examine la représentation binaire des valeurs de deux expressions et effectue sur ces valeurs une opération OR binaire. Le résultat de cette opération est le suivant :  
0101    (expression1)
1100    (expression2)
----
1101    (result)
 
Lorsque l'une des expressions comporte un 1 dans un chiffre, le résultat comporte un 1 dans ce chiffre. Sinon, le résultat comporte un 0 dans ce chiffre.  
 
Pour savoir à quel moment une erreur d'exécution est générée par l'opérateur |, consultez le tableau Comportement des opérateurs.  


 
c'est tout !

Reply

Marsh Posté le 09-03-2003 à 23:59:19    

les opérations de shift et rotation n'existent pas en VB.  Si tu en as vraiment besoin, il te faudra les implémenter.


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 10-03-2003 à 11:26:10    

drasche a écrit :

les opérations de shift et rotation n'existent pas en VB.  Si tu en as vraiment besoin, il te faudra les implémenter.


 
ARf c lourd ca, merci pour ton explication a+  :jap:


---------------
Ptit con de goret je t'emmerde ^_^
Reply

Marsh Posté le 10-03-2003 à 14:56:50    

Code :
  1. Public Function ShiftLeft(byval m_Value as long, byval m_Step as long) as long
  2. Dim m_Counter As Long
  3.   ShiftLeft= m_Value
  4.  
  5.   For m_Counter = 1 To m_Step
  6.     ShiftLeft= ShiftLeft * 2
  7.   Next
  8.  
  9. End Function
  10. Public Function ShiftRight(byval m_Value as long, byval m_Step as long) as long
  11. Dim m_Counter As Long
  12.   ShiftRight= m_Value
  13.  
  14.   For m_Counter = 1 To m_Step
  15.     ShiftRight= ShiftRight \ 2
  16.   Next
  17.  
  18. End  Function
  19. key(i) = (ShiftLeft(key(i),4) and 240) or (ShiftRight(key(i),4) and 15)


Message édité par karlkox le 10-03-2003 à 14:57:40
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed