Tipos de enteros de ancho fijo (desde C99)
De cppreference.com
Contenido |
[editar] Tipos
Definido en el archivo de encabezado
<stdint.h> | |
int8_t int16_t int32_t int64_t |
tipo entero con signo con ancho de exactamente 8, 16, 32 y 64 bits respectivamente sin bits de relleno y usando el complemento de 2 para valores negativos (sólo si la implementación soporta directamente el tipo) |
int_fast8_t int_fast16_t int_fast32_t int_fast64_t |
tipo entero con signo más rápido con un ancho de al menos 8, 16, 32 y 64 bits respectivamente |
int_least8_t int_least16_t int_least32_t int_least64_t |
tipo entero con signo más pequeño con un ancho de al menos 8, 16, 32 y 64 bits respectivamente |
intmax_t | ancho máximo para el tipo entero |
intptr_t | tipo entero capaz de contener un puntero |
uint8_t uint16_t uint32_t uint64_t |
tipo entero sin signo con ancho de exactamente 8, 16, 32 y 64 bits respectivamente (sólo si la implementación soporta directamente el tipo) |
uint_fast8_t uint_fast16_t uint_fast32_t uint_fast64_t |
tipo entero sin signo más rápido con un ancho de al menos 8, 16, 32 y 64 bits respectivamente |
uint_least8_t uint_least16_t uint_least32_t uint_least64_t |
tipo entero sin signo más pequeño con un ancho de al menos 8, 16, 32 y 64 bits respectivamente |
uintmax_t | ancho máximo para el tipo entero sin signo |
uintptr_t | tipo entero sin signo capaz de contener un puntero |
[editar] Macros de constantes
Definido en el archivo de encabezado
<stdint.h> | |
Números enteros con signo: valor mínimo | |
INT8_MININT16_MININT32_MININT64_MIN |
valor mínimo de un objeto de tipo int8_t, int16_t, int32_t, int64_t (constante de macro) |
INT_FAST8_MININT_FAST16_MININT_FAST32_MININT_FAST64_MIN |
valor mínimo de un objeto de tipo int_fast8_t, int_fast16_t, int_fast32_t, int_fast64_t (constante de macro) |
INT_LEAST8_MININT_LEAST16_MININT_LEAST32_MININT_LEAST64_MIN |
valor mínimo de un objeto de tipo int_least8_t, int_least16_t, int_least32_t, int_least64_t (constante de macro) |
INTPTR_MIN |
valor mínimo de un objeto de tipo intptr_t (constante de macro) |
INTMAX_MIN |
valor mínimo de un objeto de tipo intmax_t (constante de macro) |
Números enteros con signo: valor máximo | |
INT8_MAXINT16_MAXINT32_MAXINT64_MAX |
valor máximo de un objeto de tipo int8_t, int16_t, int32_t, int64_t (constante de macro) |
INT_FAST8_MAXINT_FAST16_MAXINT_FAST32_MAXINT_FAST64_MAX |
valor máximo de un objeto de tipo int_fast8_t, int_fast16_t, int_fast32_t, int_fast64_t (constante de macro) |
INT_LEAST8_MAXINT_LEAST16_MAXINT_LEAST32_MAXINT_LEAST64_MAX |
valor máximo de un objeto de tipo int_least8_t, int_least16_t, int_least32_t, int_least64_t (constante de macro) |
INTPTR_MAX |
valor máximo de un objeto de tipo intptr_t (constante de macro) |
INTMAX_MAX |
valor máximo de un objeto de tipo intmax_t (constante de macro) |
Números enteros sin signo: valor máximo | |
UINT8_MAXUINT16_MAXUINT32_MAXUINT64_MAX |
valor máximo de un objeto de tipo uint8_t, uint16_t, uint32_t, uint64_t (constante de macro) |
UINT_FAST8_MAXUINT_FAST16_MAXUINT_FAST32_MAXUINT_FAST64_MAX |
valor máximo de un objeto de tipo uint_fast8_t, uint_fast16_t, uint_fast32_t, uint_fast64_t (constante de macro) |
UINT_LEAST8_MAXUINT_LEAST16_MAXUINT_LEAST32_MAXUINT_LEAST64_MAX |
valor máximo de un objeto de tipo uint_least8_t, uint_least16_t, uint_least32_t, uint_least64_t (constante de macro) |
UINTPTR_MAX |
valor máximo de un objeto de tipo uintptr_t (constante de macro) |
UINTMAX_MAX |
valor máximo de un objeto de tipo uintmax_t (constante de macro) |
[editar] Macros de función para constantes enteras de ancho mínimo
INT8_CINT16_CINT32_CINT64_C |
se expande a una expresión entera constante que tiene el valor especificado por su argumento y el tipo int_least8_t, int_least16_t, int_least32_t, int_least64_t respectivamente (macro de función) |
INTMAX_C |
se expande a una expresión entera constante que tiene el valor especificado por su argumento y el tipo intmax_t (macro de función) |
UINT8_CUINT16_CUINT32_CUINT64_C |
se expande a una expresión entera constante que tiene el valor especificado por su argumento y el tipo uint_least8_t, uint_least16_t, uint_least32_t, uint_least64_t respectivamente (macro de función) |
UINTMAX_C |
se expande a una expresión entera constante que tiene el valor especificado por su argumento y el tipo uintmax_t (macro de función) |
#include <stdint.h> UINT64_C(0x123) // puede expandirse a 0x123ULL o 0x123UL
[editar] Constantes de formato en macro
Definido en el archivo de encabezado
<inttypes.h> |
[editar] Constantes de formato para la familia de funciones fprintf
Equivalente para int o unsigned int |
Descripción | Macros para tipos de datos | ||||
---|---|---|---|---|---|---|
[u]intx_t |
[u]int_leastx_t |
[u]int_fastx_t |
[u]intmax_t |
[u]intptr_t | ||
x = 8, 16, 32 or 64 | ||||||
d
|
salida de un valor entero decimal con signo | PRIdx | PRIdLEASTx | PRIdFASTx | PRIdMAX | PRIdPTR |
i
|
PRIix | PRIiLEASTx | PRIiFASTx | PRIiMAX | PRIiPTR | |
u
|
salida de un valor entero decimal sin signo | PRIux | PRIuLEASTx | PRIuFASTx | PRIuMAX | PRIuPTR |
o
|
salida de un valor entero octal sin signo | PRIox | PRIoLEASTx | PRIoFASTx | PRIoMAX | PRIoPTR |
x
|
salida de un valor entero hexadecimal en minúsculas sin signo | PRIxx | PRIxLEASTx | PRIxFASTx | PRIxMAX | PRIxPTR |
X
|
salida de un valor entero hexadecimal en mayúsculas sin signo | PRIXx | PRIXLEASTx | PRIXFASTx | PRIXMAX | PRIXPTR |
[editar] Constantes de formato para la familia de funciones fscanf
Equivalente para int o unsigned int |
Descripción | Macros para tipos de datos | ||||
---|---|---|---|---|---|---|
[u]intx_t |
[u]int_leastx_t |
[u]int_fastx_t |
[u]intmax_t |
[u]intptr_t | ||
x = 8, 16, 32 or 64 | ||||||
d
|
entrada de un valor entero decimal con signo | SCNdx | SCNdLEASTx | SCNdFASTx | SCNdMAX | SCNdPTR |
i
|
entrada de un valor entero con signo (la base se determina por los primeros caracteres analizados) | SCNix | SCNiLEASTx | SCNiFASTx | SCNiMAX | SCNiPTR |
u
|
entrada de un valor entero decimal sin signo | SCNux | SCNuLEASTx | SCNuFASTx | SCNuMAX | SCNuPTR |
o
|
entrada de un valor entero octal sin signo | SCNox | SCNoLEASTx | SCNoFASTx | SCNoMAX | SCNoPTR |
x
|
entrada de un valor entero hexadecimal sin signo | SCNxx | SCNxLEASTx | SCNxFASTx | SCNxMAX | SCNxPTR |
[editar] Ejemplo
Ejecuta este código
Posible salida:
8 lld -9223372036854775808 +9223372036854775807 +7
[editar] Véase también
Documentación de C++ para Tipos de enteros de ancho fijo
|