florentlejaxhe
Messages postés4Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention22 décembre 2002
-
20 déc. 2002 à 18:43
florentlejaxhe
Messages postés4Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention22 décembre 2002
-
21 déc. 2002 à 19:12
Dans un array[1..100] of byte, comment lire les 800 bytes de 7 en 7 bits, donc du bit 1 au bit 7, du bit 8 au bit 14, du bit 15 au bit 21, etc ... Il s'agit d'un problème de cryptage. Merci.
cs_Nono40
Messages postés962Date d'inscriptionmercredi 3 avril 2002StatutMembreDernière intervention12 septembre 20062 21 déc. 2002 à 18:25
Voici une procédure qui extrait les bits 7 par 7 d'un tableau :
procedure TForm1.Button1Click(Sender: TObject);
Var Tableau : Array[0..799] Of Byte;
Mot : Word;
SeptBits : Integer;
NumBit : Integer;
begin
// ...
// Chargement du tableau
// ...
NumBit:=0;
While NumBit<(SizeOf(Tableau)*8-7) Do
Begin
// On copie les deux octets contenant les bits voulus dans un mot
Move(Tableau[NumBit Div 8],Mot,2);
// Dans le mot de 16 bit on masque les 7 bits utiles,
// et on les décales à droite afin qu'ils soient de 0 à 6
SeptBits:=(Mot And ($7F Shl (NumBit Mod 8)))Shr (NumBit Mod 8);
// ...
// Traitement sur le groupe de 7 bits contenu dans 7 bits
// ...
Inc(NumBit,7);
End;
end;
--- :sleepy) Nono40@fr.st :sleepy) ---
Nouveau ---> Nono40.fr.st
florentlejaxhe
Messages postés4Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention22 décembre 2002 21 déc. 2002 à 19:12
-------------------------------
Réponse au message :
-------------------------------
> Voici une procédure qui extrait les bits 7 par 7 d'un tableau :
>
> procedure TForm1.Button1Click(Sender: TObject);
> Var Tableau : Array[0..799] Of Byte;
> Mot : Word;
> SeptBits : Integer;
> NumBit : Integer;
> begin
> // ...
> // Chargement du tableau
> // ...
Merci pour la réponser: j'essaye.
Bonnes fêtes et à bientôt.
Florent
> NumBit:=0;
> While NumBit<(SizeOf(Tableau)*8-7) Do
> Begin
> // On copie les deux octets contenant les bits voulus dans un mot
> Move(Tableau[NumBit Div 8],Mot,2);
> // Dans le mot de 16 bit on masque les 7 bits utiles,
> // et on les décales à droite afin qu'ils soient de 0 à 6
> SeptBits:=(Mot And ($7F Shl (NumBit Mod 8)))Shr (NumBit Mod 8);
> // ...
> // Traitement sur le groupe de 7 bits contenu dans 7 bits
> // ...
> Inc(NumBit,7);
> End;
> end;
>
> --- :sleepy) Nono40@fr.st :sleepy) ---
> Nouveau ---> Nono40.fr.st >
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Dans un array[1..100] of byte, comment lire les 800 bytes de 7 en 7 bits, donc du bit 1 au bit 7, du bit 8 au bit 14, du bit 15 au bit 21, etc ... Il s'agit d'un problème de cryptage. Merci.
>