domingo, 29 de octubre de 2017

Listas, Colas, Pilas y Conjuntos en C# - Parte 5/6: BitArray

Índice

1. Introducción
2. Palabras Clave
3. La Clase BitArray
4. Conclusiones
5. Literatura & Enlaces

1. Introducción

La razón de ser de la clase que estudia en este artículo destaca además por su crecimiento dinámico, pero su gestión eficiente en memoria de los valores booleanos: inclusive superior a un arreglo o una List genérica de elementos bool.

2. Palabras Clave

  • Arreglo
  • bool
  • Crecimiento dinámico
  • Eficiencia
  • Lista

3. La Clase BitArray

Internamente la clase BitArray usa un único bit por cada elemento del arreglo, en lugar de los ocho bits (byte) que cupa un elemento bool en una colección de tipo arreglo o List<T> (Albahari, 2012).

Lo anterior se traduce en eficiencia en almacenamiento.

Por otra parte, el crecimiento de esta clase está relacionado de forma directa con la adición o remoción de un elemento: la propiedad Length cambia de acuerdo al número de unidades agregadas o removidas.

Entre los métodos, por su parte, esenciales y particulares a esta clase se hallan:
  • And: lleva a cabo la operación bitwise (Operadores Bitwise (Bit a Bit) en C#) de y o conjugación lógica.
  • Or: realiza la operación bitwise de o inclusivo.
  • Xor: realiza la operación bitwise de o exclusivo.
  • Not: niega o invierte cada unos de los valores del arreglo de bits.
Los primeros tres métodos listados reciben como argumento un elemento BitArray: la operación lógica se lleva bit a bit en en el arreglo dado respecto al que invoca el método.

A continuación un ejemplo de uso básico:

4. Conclusiones

Se presentó el uso básico de la clase BitArray para la manipulación de elementos booleanos que ocupan un único bit en memoria: esto evidencia un alto nivel de eficiencia frente a otras soluciones como List<T> o un arreglo básico elementos bool.

El último artículo de esta serie comprenderá el estudio de las clases genéricas HashSet<T> y SortedSet<T>.

5. Literatura & Enlaces

Albahari, J., Albahari, B. (2012). C# 5.0 in a Nutshell. United States: O'Reilly Media.
BitArray Class (System.Collections) (2017). Recuperado desde: https://msdn.microsoft.com/en-us/library/system.collections.bitarray%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396
Operadores Bitwise (Bit a Bit) en C# (2017). Recuperado desde: https://ortizol.blogspot.com.co/2013/07/operadores-bitwise-bit-bit-en-c.html


O

No hay comentarios:

Publicar un comentario

Envíe sus comentarios, dudas, sugerencias, críticas. Gracias.