1 #pragma once 2 3 #include <limits.h> 4 5 #define CHARBITS (sizeof(char) * 8) 6 #define SHORTBITS (sizeof(short) * 8) 7 #define INTBITS (sizeof(int) * 8) 8 #define LONGBITS (sizeof(long) * 8) 9 #define PTRBITS (sizeof(char*) * 8) 10 #define DOUBLEBITS (sizeof(double) * 8) 11 #define FLOATBITS (sizeof(float) * 8) 12 13 #define MINSHORT SHRT_MIN 14 #define MININT INT_MIN 15 #define MINLONG LONG_MIN 16 17 #define MAXSHORT SHRT_MAX 18 #define MAXINT INT_MAX 19 #define MAXLONG LONG_MAX 20 21 #define HIBITS MINSHORT 22 #define HIBITL MINLONG 23 24 #include <float.h> 25 26 #define MAXDOUBLE DBL_MAX 27 #undef MAXFLOAT 28 #define MAXFLOAT FLT_MAX 29 #define MINDOUBLE DBL_MIN 30 #define MINFLOAT FLT_MIN 31 #define DMINEXP DBL_MIN_EXP 32 #define FMINEXP FLT_MIN_EXP 33 #define DMAXEXP DBL_MAX_EXP 34 #define FMAXEXP FLT_MAX_EXP 35 36 #define BITSPERBYTE CHAR_BIT 37