En este enlace me encontré con http://lxr.linux.no/#linux+v2.6.36/include/linux/pci.h#L299 declaración número entero unsigned int is_added:1;
he hecho programas en C y declaró enteros en ellos, pero en el anterior Veo uso de : Lo tipo de sintaxis es eso?cómo declarar un entero sin signo en un programa de C
Respuesta
creo que haya llegado a través de un bit-field :)
ja, ja :) ok leyendo el resto de las respuestas Ahora puedo entender lo que está por encima. –
Es parte de un struct
, lo que significa que indica que el campo sólo se debe utilizar un cierto número de bits en lugar de un byte completo o más.
Esto indica que solo se usará un bit de esto.
En struct
s, uno puede tener variables enteras que ocupen cualquier cantidad de bits entre 1 y 31. is_added
es una variable de un bit. Las variables de un bit también se conocen como banderas.
de donde obtienes el número 31? Esto es engañoso. Puede usar tantos como el ancho de 'int', que es al menos 32. Debe ser un poco cauteloso con respecto al bit de signo, pero como aquí el campo se declara' unsigned int' puede contener al menos 32 bit sin dolor . –
@Jens: el ancho de un int puede ser tan pequeño como 16 bits en C99. – JeremyP
@JeremyP: oops, a la derecha. Entonces el 31 es aún más falso. –
Esta es una declaración de campo de bit en una matriz. El número de publicación ":" denota el número de bits para asignar a este campo particular de la estructura.
Aunque debe tener cuidado con los campos de bits ya que su representación binaria no es portátil. Es decir, está pasando blobs binarios entre interfaces compiladas con diferentes compiladores, puede que no funcione.
Ok Ahora entiendo que había olvidado completamente tal cosa. –
- 1. ¿Qué sucede cuando resta un entero sin signo de un entero con signo en C++?
- 2. entero de 1 byte sin signo C++
- 3. Convertir 3 bytes en un entero con signo en C#
- 4. Conversión de caracteres sin signo a entero con signo
- 5. MySQL entero sin signo problemas aritméticos?
- 6. bash - ¿Cómo declarar un entero local?
- 7. ¿Por qué Count no es un entero sin signo?
- 8. enteros sin signo en C++ para bucles
- 9. ¿La mejor manera de convertir un entero con signo en un largo sin firmar?
- 10. ¿Cómo convierto una cadena hexadecimal en un entero con signo?
- 11. Diferencia entre int sin signo y sin signo en C++
- 12. Obtenga la variante con signo/sin signo de un parámetro de plantilla entera sin rasgos explícitos
- 13. Decodificar decimal codificado en binario (BCD) a entero sin signo
- 14. Encontrar posiciones de bits en un entero de 32 bits sin signo
- 15. ¿Cómo encontrar (todos) desbordamientos de enteros en un programa C?
- 16. ¿Cómo inicializar un tipo largo sin signo?
- 17. ¿Cómo puedo imprimir el valor máximo de un entero sin signo?
- 18. ¿Cómo puedo verificar si un entero con signo es positivo?
- 19. gcc: advertencia: entero grande truncado implícitamente al tipo sin signo
- 20. Convierta un entero en una cadena con signo en Ruby
- 21. Cómo declarar un puntero vacío en C#
- 22. ¿Cómo declarar un Guid constante en C#?
- 23. Convirtiendo un size_t en un entero (C++)
- 24. Almacenar la dirección de un puntero en un int sin signo en C
- 25. Cómo escribir un literal int corto sin signo?
- 26. Buscando un 128 bits entero sin signo de tipo de datos de .NET Framework
- 27. Java: La implementación de un número entero de 128 bits sin signo
- 28. Entero con signo Little-Endian
- 29. ¿Cómo creo un programa C# sin una GUI?
- 30. Función C: asignar variable sin signo a una función con un parámetro con signo
Es probable que suceda algo de magia preprocesadora. – OmnipotentEntity
¿Por qué demonios el comentario anterior tiene 2 votos hacia arriba? –
@OmnipotentEntity: No. – jamesdlin