¿Qué tal una mordida, etc.¿Hay un tipo de datos .NET más pequeño que un byte?
Respuesta
? Incluso si tiene una matriz de booleanos, creo que están especificados para ocupar un byte cada uno.
Por supuesto, puede definir sus propios tipos de datos que tienen menos de 256 valores válidos (como Boolean
) pero no puede hacer que ocupe menos de un byte en la memoria.
Como LBushkin señaló, hay tipos como BitArray
y BitVector32
qué paquete con eficacia múltiples bits de manera eficiente - usted puede escribir su propio tipo NybbleArray
si querías.
Entonces, si quisiera definir un tipo de Nibble, debería hacerlo con Byte, a la derecha, ya que todavía está mejor que la matriz de 4 booleanos ... – Shimmy
@Shimmy: Sí, eso es correcto. –
Esta tabla es mejor ya que te dice el tamaño de cada tipo, a diferencia del primero :) http://msdn.microsoft.com/en-us/library/47zceaw7.aspx – Shimmy
No, byte es el más pequeño.
Esto puede ser útil: How can you nibble (nybble) bytes in C#?
¿Un booleano no toma menos? – Shimmy
¿Menos memoria? No. ¿Menos valores posibles? Sí. Si está tratando de implementar un tipo de Nibble, la mejor manera sería usar un BitArray/BitVector como se mencionó anteriormente o utilizar el enmascaramiento de bits en bytes. – Mandelbrot
No hay tipo de datos nativo más pequeño que el byte, sin embargo, si desea almacenar y manipular un grupo de bits empaquetados, puede utilizar BitVector32 o BitArray.
Creo que voy a usar Byte simple, ya que BitVector tiene una longitud de 4 bytes (Int32) (al menos). – Shimmy
- 1. MySQL: tipo de datos más pequeño para un bit
- 2. ¿Obtiene un tipo de datos XML de un tipo .NET?
- 3. java datos de tipo byte
- 4. ¿PHP tiene un tipo de datos más grande que int?
- 5. Cómo averiguar el tipo integral más pequeño que puede representar un número, en tiempo de compilación
- 6. Texto principal un poco más pequeño que NSString drawInRect :?
- 7. C++ elenco a la matriz de un tamaño más pequeño
- 8. Cómo hacer que TimePicker sea más pequeño
- 9. Lenguaje de ensamblaje: ¿hay más de un tipo?
- 10. optimización sed (modificación de archivos grandes basada en un conjunto de datos más pequeño)
- 11. Para hallar más grande elemento más pequeño que K en un BST
- 12. SQL espacial: ¿tipo de datos más adecuado para un cuadrado?
- 13. Dado un número decimal, encuentre el multiplicador de enteros más pequeño que dé un resultado entero
- 14. python coma flotante naturaleza y la conversión a un tipo más pequeño
- 15. tipo de datos numéricos más precisos que el doble?
- 16. ¿Hay un tipo .NET nativo para las subredes CIDR?
- 17. Estableciendo un tamaño de búfer más pequeño para sys.stdin?
- 18. ¿Hay algo más rápido que SqlDataReader en .NET?
- 19. Diferencia entre Byte vs Byte tipos de datos en C#
- 20. Centrado de imágenes grandes verticalmente en un div más pequeño
- 21. ¿Cómo funciona el módulo de un dividendo más pequeño y un divisor más grande?
- 22. ¿Hay un buen y pequeño servidor web de Python?
- 23. Evaluación de un lenguaje de tipo matemático pequeño que admite una variable
- 24. Python - Pequeño cambio en un archivo enorme
- 25. ¿Cómo hacer que EditText sea más pequeño que el predeterminado?
- 26. ¿Por qué el tamaño del instalador de .NET Framework 4.0 es más pequeño que 3.0/3.5?
- 27. cómo convertir un tipo de valor a byte [] en C#?
- 28. ¿Hay nulo mayor que cualquier tipo de datos de fecha?
- 29. Convertir byte [] en Buffer tipo
- 30. Qué tipo de datos de SQL Server debo usar para almacenar un byte []
BitOperations: http://www.blackwasp.co.uk/CSharpLogicalBitwiseOps.aspx –
@Shiftbit, enlace muy útil, gracias. – Shimmy
bienvenido. :) No es un tipo de datos .NET pero le permitirá manipular los bits dentro de un byte. Usted mencionó bools, también podría considerar esto útil: Campos de bits - http://en.wikipedia.org/wiki/Bit_field –