Re: significations des opérateurs \ et *
[ Nouvelle discussion
| Répondre au groupe
|
fr.comp.lang.basic ]
Sujet: Re: significations des opérateurs \ et *
De: NO_SPAM_jean_marc...@yahoo.fr.invalid (Jean-marc)
Groupes: fr.comp.lang.basic
Organisation: -= Belgacom Usenet Service =-
Date: 14. Mar 2008, 19:58:36
References: 1
|
val wrote:
> Bonjour,
>
> Je transcris un programme vb en c mais je ne sais pas comment
> interpréter les opérateurs
> \ (anti slash) et * (étoile) dans le code suivant d'un calcul de CRC.
\ = Division entière.
* = multiplication
>
> les variables sont déclarées comme 'long', sauf tTable qui est un
> tableau de constantes définies sur 4 octets.
> que signifie tCRC \ &H100& et aussi ..) * &H100& ?
&H100& veut dire 100 en hexa c'est à dire 256 en décimal.
Donc tCRC \ &H100& signifie
division entière de tCRC par 256.
Or, diviser par 256, c'est diviser par 2^8, n'est ce pas ?
Donc, comme on parle ici de division entière, ça revient en C
à faire un simple Left Shift de 8.
Donc ceci en VB :
Dim n As Long
Dim r As Long
n = 123456
r = 0
r = n \ &H100&
MsgBox "r=" & r
En C, ça donne :
long n = 123456L;
long r = 0L;
r = n >> 8;
printf("r = %ld\n", r);
Et les 2 retourne bien sur la même chose (482 dans cet exemple).
--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ; _no_spam_jean_marc_n2@yahoo.fr

|
 cette fonctionnalité est reservée aux membres ayant une session active !
|