Skip to main content

Posts

Showing posts with the label int

How to store an array of booleans in a int

Uneori ajungem sa ne dorim sa stocam intr-un int mai multe valori booleene( de obicei de dragul artei) pentru a salva a avea mesajele care se trimit pe tiava cat mai mici. O solutie pe care o propun este sa folosim BitArray. Acesta ne permite sa lucram cu biti. Pentru a initializa si seta valoriile unui BitArray trebuie sa scriem urmatorul cod:   BitArray bits = new BitArray(32); // 32 - numarul de biti pe care il ocupa un int  bits[0] = true; ... bits[31] = false;   Urmatorul pas este sa convertim un BitArray in int. Acest lucru se face destul de usor cu metoda CopyTo:   int[] valueConverted = new int[1]; bits.CopyTo(valueConverted,0); // 0 - reprezinta indexul de inceput  int result = valueConverted[0];   In result am obtinut int-ul care contine BitArrat-ul nostru.Pentru a executa procesul invers, sa obtinem un BitArray dintr-un int este nevoie sa apelam metoda statica GetBytes a clasei BitConverter.   BitArray bits = BitConve...