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