Resultados de la búsqueda a petición "bit-fields"

4 la respuesta

Por qué el tamaño de la clase aumenta cuando int64_t cambia a int32_t

En mi primer ejemplo, tengo dos campos de bits usandoint64_t. Cuando compilo y obtengo el tamaño de la clase, obtengo 8. class Test { int64_t first : 40; int64_t second : 24; }; int main() { std::cout << sizeof(Test); // 8 }Pero cuando cambio el ...

5 la respuesta

¿Qué hace VC ++ al empaquetar bitfields?

Para aclarar mi pregunta, comencemos con un programa de ejemplo: #include <stdio.h> #pragma pack(push,1) struct cc { unsigned int a : 3; unsigned int b : 16; unsigned int c : 1; unsigned int d : 1; unsigned int e : 1; unsigned int f : 1; ...

4 la respuesta

¿Cómo se determina / mide el tamaño de una estructura con campos de bits?

#include <stdio.h> typedef struct size { unsigned int a:1; unsigned int b:31; unsigned int c:1; } mystruct; int main() { mystruct a; printf("%d", sizeof(a)); return 0; } Conint b:31, la salida es 8.Conint b:1, la salida es 4.Conint b:32, la ...

5 la respuesta

Uso práctico de campos de bits de longitud cero

No estoy totalmente seguro acerca de C, pero C ++ permite campos de bits sin nombre de longitud 0. Por ejemplo: struct X { int : 0; };Pregunta uno: ¿Qué usos prácticos de esto puedetú ¿pensar en?Pregunta dos: ¿De qué usos prácticos del mundo ...

3 la respuesta

La variable de estructura no cambia por asignación

struct st { int a1 : 3; int a2 : 2; int a3 : 1; } void main(void) { x.a3 = -1; if (x.a3 == -1) printf("TRUE\n"); else printf("FALSE\n"); x.a3 = 1; if (x.a3 == 1) printf("TRUE\n"); else printf("FALSE\n"); }En caso,'x.a3 = -1;'Primero si ...

3 la respuesta

Bit-fiddling eficiente en una implementación LFSR

Aunque tengo una buena implementación de LSFR C, pensé que intentaría lo mismo en Haskell, solo para ver cómo funciona. Lo que se me ocurrió, hasta ahora, es dos órdenes de magnitud más lento que la implementación de C, lo que plantea ...

3 la respuesta

¿Qué extremo de un campo de bit es el bit más significativo?

Estoy escribiendo una aplicación C ++ para Windows XP / Vista / 7 usando Visual Studio 2008. Algunas de mis estructuras usan un campo de bits, como se muestra en el ejemplo. typedef struct myStruct_tag { BYTE myVar1; WORD myVar2; WORD myVar3; ...

4 la respuesta

¿Cómo usar banderas binarias en Core Data?

Yo tengo unint32 atributo en una base de datos de Core Data. yo uso estoint como unenum campo de bits ¿Es posible crear unNSPredicate consultar elementos basados en el valor binario de este int? Algo como@"bitFieldAttribute & 0x0001"? También ...

8 la respuesta

Utilizando operadores Bitwise en banderas

Tengo cuatro banderas Current = 0x1 Past = 0x2 Future = 0x4 All = 0x7Digo que recibo las dos banderas Pasado y Futuro setFlags(PAST | FUTURE)). ¿Cómo puedo saber siPast ¿esta en ello? Del mismo modo, ¿cómo puedo decir queCurrent no está en eso? ...

7 la respuesta

¿Por qué el endianness de bit es un problema en bitfields?

Cualquier código portátil que use bitfields parece distinguir entre plataformas little-y-big-endian. Ver eldeclaración de struct iphdr en linux kernel [http://lxr.linux.no/#linux+v2.6.38/include/linux/ip.h] para un ejemplo de dicho código. No ...