suma reales racionales numeros naturales multiplicacion los historia enteros ejemplos conjunto c gcc portability low-level

racionales - numeros reales



¿Hay enteros de tamaño fijo en GCC? (1)

En el compilador de MSVC ++, uno puede usar los __int8 , __int16 , __int32 y similares para enteros con tamaños específicos. Esto es extremadamente útil para aplicaciones que necesitan trabajar con estructuras de datos de bajo nivel como formatos de archivo personalizados, estructuras de datos de control de hardware y similares.

¿Existe un equivalente similar que pueda usar en el compilador de GCC?


El estándar ISO C, que comienza con el estándar C99, agrega el encabezado estándar <stdint.h> que define estos:

uint8_t - unsigned 8 bit int8_t - signed 8 bit uint16_t - unsigned 16 bit int16_t - signed 16 bit uint32_t - unsigned 32 bit int32_t - signed 32 bit uint64_t - unsigned 64 bit int64_t - signed 64 bit

Uso estos tipos todo el tiempo.

Estos tipos se definen solo si la implementación admite tipos predefinidos con los tamaños y características adecuados (que la mayoría lo hace).

<stdint.h> también define tipos con nombres de la forma (u)int_leastN_t (tipos que tienen al menos el ancho especificado) y (u)int_fastN_t (los tipos "más rápidos" que tienen al menos el ancho especificado); estos tipos son obligatorios

Si está utilizando una implementación anterior que no es compatible con <stdint.h> , puede desplegar la suya propia; una implementación es "q8" de Doug Gwyn .