这是一个笔记,用来记录不同系统中不同数据类型的大小,最大值,最小值的,有没有写到了大家可以留言,我进行补充
类型 | 32位字节数 | 32位取值范围 | 64位字节数 | 64位取值范围 | 最大值宏定义 | 最小值宏定义 | 宏定义实现 | 补充 |
---|---|---|---|---|---|---|---|---|
int | 4byte | -2147483648~2147483647 | 同32位 | 同32位 | INT_MAX | INT_MIN | #define M_INT_MAX 0X7FFFFFFF #define M_INT_MIN 0X80000000 | 宏定义 climits.h |
uint | 4byte | 0~4294967295 | 同32位 | 同32位 | UINT_MAX | 0 | #define 0XFFFFFFFF | 同上 |
short | 2byte | -32768~32767 | 同32位 | 同32位 | SHRT_MAX | SHRT_MIN | #define M_SHRT_MAX 0X7FFF #define M_SHRT_MIN 0X8000 | 同上 |
long | 4byte | -2147483648~2147483647 | 8byte | 太大了,这里不写了 | LONG_MAX | LONG_MIN | #define M_SHRT_MAX 7FFFFFFFFFFFFFFF #define M_SHRT_MIN 8000000000000000 | 同上 |
long long | 8byte | 太大,不写 | 8byte | 太大,不写 | LLONG_MAX | LLONG_MAX | 同上 | 同上 |
char | 1byte | -128~127 | 1byte | 同32位 | CHAR_MAX | CHAR_MIN | #define M_CHAR_MAX 127 #define M_CHAR_MIN -128 | 同上 |
unsigned char | 1byte | 0~255 | 1byte | 同32位 | UCHAR_MAX | UCHAR_MIN | #define M_CHAR_MAX 255 #define M_CHAR_MIN 0 | 同上 |
float | 4byte | 3.40282e+038(1038)~1.17549e-038(10-38) | 同32位 | 同32位 | FLT_MAX | FLT_MIN | #define FLT_MAX 3.402823466e+38F #define FLT_MIN 1.175494351e-38F | float.h |
double | 8byte | 1.79769e+308(10308)~2.22507e-308(10-308) | 同32位 | 同32位 | DBL_MAX | DBL_MIN | 太长 | 同上 |