Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comment faire une rotation de bit ?

6 réponses
Avatar
JVMD
J'ai besoin pour un calcul de CRC de faire une rotation de bits (le >>
du C).

Il y a surement une idée simple mais laquelle ?

JL


----------------------------------------------
Enlever AntiSpam à mon adresse pour m'écrire.
----------------------------------------------

6 réponses

Avatar
ManuPavy
JVMD a écrit :
J'ai besoin pour un calcul de CRC de faire une rotation de bits (le >>
du C).

Il y a surement une idée simple mais laquelle ?



Multiplier (ou diviser) par deux ?

Manu
Avatar
eric flament
ManuPavy a écrit :
JVMD a écrit :

J'ai besoin pour un calcul de CRC de faire une rotation de bits (le >>
du C).

Il y a surement une idée simple mais laquelle ?




Multiplier (ou diviser) par deux ?

Manu



je te propose le xor sur une chaine

exemple , le buffer est une chaine, lrc est un entier
lecrc est uen chaine

lebuffer=STX+Complète("OUT"+quellechambre,220)
lrc=0
POUR ii = 1 A Taille(lebuffer)
lrc=OuExclusifBinaire(lrc,Asc(lebuffer[[ii]]))
FIN

lecrc= NumériqueVersChaine(lrc,"02X")
// te draduira le numérique en hexa


donc la fonction OuexclusifBinaire() et numeriqueverschaine(num,format)
devrait te suffire non ??
eric
Avatar
JVMD
Le Wed, 08 Jun 2005 15:30:13 +0200, ManuPavy
écris :

JVMD a écrit :
J'ai besoin pour un calcul de CRC de faire une rotation de bits (le >>
du C).

Il y a surement une idée simple mais laquelle ?



Multiplier (ou diviser) par deux ?



Bé j'y avais pensé mais je n'étais pas sur du résultat.

Je vais tester ça tout de même pour voir je te dirais si c'est
équivalent.

Merci.



----------------------------------------------
Enlever AntiSpam à mon adresse pour m'écrire.
----------------------------------------------
Avatar
JVMD
Le Wed, 08 Jun 2005 17:14:43 +0200, eric flament
écris :

je te propose le xor sur une chaine

exemple , le buffer est une chaine, lrc est un entier
lecrc est uen chaine

lebuffer=STX+Complète("OUT"+quellechambre,220)
lrc=0
POUR ii = 1 A Taille(lebuffer)
lrc=OuExclusifBinaire(lrc,Asc(lebuffer[[ii]]))
FIN

lecrc= NumériqueVersChaine(lrc,"02X")
// te draduira le numérique en hexa


donc la fonction OuexclusifBinaire() et numeriqueverschaine(num,format)
devrait te suffire non ??
eric




Bon alors déjà je retient la routine car elle me servira.

Et non ça ne me suffit pas car l'autre partie qui génère le crc32
n'est pas de mon fait et n'est même pas en windev !!

D'ou mon obligation de cracher le même résultat.

Mais je note, merci.

JL


----------------------------------------------
Enlever AntiSpam à mon adresse pour m'écrire.
----------------------------------------------
Avatar
Romain PETIT
JVMD a exposé le 08/06/2005 :
J'ai besoin pour un calcul de CRC de faire une rotation de bits (le >>
du C).
Il y a surement une idée simple mais laquelle ?



Utiliser autre chose que Windev ?
http://tinyurl.com/cv8kt
ou
http://groups.google.fr/group/fr.comp.developpement.agl.windev/browse_frm/thread/b0da0d0087bfb3fa/83e556e4d47f5cc0?q=crc32+windev&rnum=2&hl=fr#83e556e4d47f5cc0

A+

--
Romain PETIT
http://cerbermail.com/?O16kfXOFcq
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
Romain PETIT
Romain PETIT a émis l'idée suivante :
JVMD a exposé le 08/06/2005 :
J'ai besoin pour un calcul de CRC de faire une rotation de bits (le >>
du C).
Il y a surement une idée simple mais laquelle ?





Utiliser autre chose que Windev ?
http://tinyurl.com/cv8kt



Le site a bougé : http://welcome.to/sirocco
De plus, contrairement à ce que je disais, c'est un freeware (y-compris
pour des applis commerciales).
La contribution (optionnelle) demandée est uniquement pour disposer des
sources (pour se rassurer ou pour garantir une maintenance de code).
De plus, il y a une DLL (pas besoin d'enregistrement) (pas testée).

A+

--
Romain PETIT
http://cerbermail.com/?O16kfXOFcq
(cliquez sur le lien ci-dessus pour me contacter en privé)