Les Snippets

Connexion

Tableau de bytes vers tableau de booléens

Niveau requis pour utiliser/comprendre cette source : 2 ( Initié )
Créé le 29/10/2007 15:52:27 et initié par the_wwt [Liste]
Date de mise à jour : 09/04/2008 17:26:16
Vue : 1721
Catégorie(s) : Compression & Split
Langages dispo pour ce code :
- Java
- Delphi 5
- Caml, CamlLight, ObjectiveCaml



Langage : Java
Date ajout : 29/10/2007
Posté par the_wwt [Liste]
   /**
     * Convert a bytes array to booleans array.
     * 
     * @param bytes
     *            The array to convert.
     * @return A booleans array from bytes array.
     */
    private boolean[] bytes2booleans(byte[] bytes) {
        boolean[] booleans = new boolean[bytes.length * 8];
        for (int iByte = 0; iByte < bytes.length; iByte++) {
            for (int iBool = 1; iBool < 8; iBool++)
                booleans[iByte * 8 + iBool] = (bytes[iByte] & (byte) Math.pow(
                        2, 8 - iBool - 1)) > 0 ? true : false;
            if (bytes[iByte] < 0)
                booleans[iByte * 8] = true;
            else
                booleans[iByte * 8] = false;
        }
        return booleans;
    }
Langage : Delphi 5
Date ajout : 09/04/2008
Posté par f0xi [Liste]
DateMAJ : 09/04/2008
 
 Type
   TBoolBits = array[0..7] of boolean; 
   TBoolBitsArray = array of TBoolBits; 
   TByteArray = array of byte; 
 
 Procedure BytesToBoolBits(const ByteArray: TByteArray; 
 var BoolBitsArray : TBoolBitsArray); 
 var i, L: integer; 
 begin 
   L := Length(ByteArray); 
   SetLength(BoolBitsArray, L); 
   for I := 0 to L-1 do 
   begin 
     BoolBitsArray[I,7] := (ByteArray[I] and $80) = $80; 
     BoolBitsArray[I,6] := (ByteArray[I] and $40) = $40; 
     BoolBitsArray[I,5] := (ByteArray[I] and $20) = $20; 
     BoolBitsArray[I,4] := (ByteArray[I] and $10) = $10; 
     BoolBitsArray[I,3] := (ByteArray[I] and $08) = $08; 
     BoolBitsArray[I,2] := (ByteArray[I] and $04) = $04; 
     BoolBitsArray[I,1] := (ByteArray[I] and $02) = $02; 
     BoolBitsArray[I,0] := (ByteArray[I] and $01) = $01; 
   end; 
 end;
 
                           
Langage : Caml , ObjectiveCaml , CamlLight
Date ajout : 09/04/2008
Posté par coucou747 [Liste]
let rec byteListAdd nbrBits acc i = if nbrBits = 0 then acc else byteListAdd (nbrBits-1) ( (i mod 2 = 1) ::acc) (i / 2);;
let formStringToBinarySeq str =
    let strget=String.get str
    in let rec f acc i = if i = -1
        then acc
        else f (byteListAdd 8 acc (int_of_char (strget i) )) (i-1)
    in f [] ((String.length str) -1);;
Remarque :
(*reciproque et test*)
let formBinarySeqToString tab =
let rec f l i c = function
| [] ->String.concat "" (List.rev ((String.make 1 (char_of_int c))::l))
| hd::tl ->
if i=8 then f ((String.make 1 (char_of_int c))::l) 0 0 (hd::tl)
else f l (i+1) (c*2 + (if hd then 1 else 0)) tl
in f [] 0 0 tab;;

formBinarySeqToString (formStringToBinarySeq "moi");;

Snippets en rapport avec : Conversion, Bits, Booléens, Bytes, Binaires



Codes sources en rapport avec : Conversion, Bits, Booléens, Bytes, Binaires

{Visual Basic, VB6, VB.NET, VB 2005} TRADUCTEUR VB6.VBP EN VB5.VBP
Ben oui ! Il y a encore des utilisateurs de VB5. C'est ce qui m'a amené à faire ce petit programm...

{Visual Basic, VB6, VB.NET, VB 2005} MODULE POUR MANIPULATION ET CONVERSIONS DES BITS
Cette module contient des fonctions prés à utiliser dans vos programmes,le module contient les fonct...

{Graphisme} EXPORT DE FICHIER AUTOCAD VERS WMF ET DXF (EN LOT)
Ayant besoin d'exporter une bonne quantité de dessins dans différents formats, j'ai fait ce petit bo...

{C / C++ / C++.NET} DVD2AVI2 ---- ENCODAGE FICHIERS : VOB VERS AVI
Transformation de fichiers VOB vers AVI démuxage(séparation) du son vers WAV ou AC3 ou mpeg1 audio ...

{Javascript / DHTML} CONVERSION TEXTE ACCENTUÉ -> CODE HTML
Etant donné que je n'ai pas trouvé de code qui permettait de me générer un code HTML à partir d'un t...

{Visual Basic, VB6, VB.NET, VB 2005} CONVERTISSEUR DEVISES ACTUALISÉ
Ce code permet de convertir les principales devises entres elles (Eur, USD, Yen, CHF, GBP) C'est ...

{IRC} AMICODER CONVERSION AUDIO V1.0
Cet addon vous permet de convertir differents formats audio dans d'autres formats. Il transfert éga...

{PHP} POO - GESTION DES COULEURS
Cette source fait suite à ma librairie sur la gestion des couleurs. Ce package est composé de 4 cla...

{PHP} OBJECT 2 JSON
Si vous ne conaissez pas json, mais qu'ajax vous tient a coeur, vous DEVEZ vous y interesser :) j...

{Visual Basic, VB6, VB.NET, VB 2005} CALC'BOOL LA CALCULETTE BOOLÉENNE
Un calculette booléenne avec module de conversion Décimal-Hexa-Binaire. Pour les conversions il suf...