c++程序输出编译器定义的C/C++语言各种基本数据类型的取值范围



c++程序输出编译器定义的C/C++语言各种基本数据类型的取值范围。

#include <stdio.h>

#include <limits.h>

#include <float.h>

#include <stdlib.h>

int main(void)

{

printf(“char类型的变量存储值从%d到%d\n”, CHAR_MIN, CHAR_MAX);

printf(“unsigned char类型的变量存储值从0到%u\n”, UCHAR_MAX);

printf(“short类型的变量存储值从%d到%d\n”, SHRT_MIN, SHRT_MAX);

printf(“unsigned short类型的变量存储值从0到%u\n”, USHRT_MAX);

printf(“int类型的变量存储值从%d到%d\n”, INT_MIN, INT_MAX);

printf(“unsigned int类型的变量存储值从0到%u\n”, UINT_MAX);

printf(“long类型的变量存储值从%ld到%ld\n”, LONG_MIN, LONG_MAX);

printf(“unsigned long类型的变量存储值从0到%lu\n\n”, ULONG_MAX);

printf(“long long类型的变量存储值从%lld到%lld\n”, LLONG_MIN, LLONG_MAX);

printf(“unsigned long long类型的变量存储值从0到%llu\n”, ULLONG_MAX);

printf(“最小的非零float类型变量的值的是%.3e\n”, FLT_MIN);

printf(“最大的float类型变量的值的是%.3e\n”, FLT_MAX);

printf(“最小的非零double类型变量的值的是%.3e\n”, DBL_MIN);

printf(“最大的double类型变量的值的是%.3e\n\n”, DBL_MAX);

printf(“最小的非零long double类型变量的值的是%.3Le\n”, LDBL_MIN);

printf(“最大的long double类型变量的值的是%.3Le\n”, LDBL_MAX);

printf(“float类型的变量提供%u位精度的小数位数\n”, FLT_DIG);

printf(“double类型的变量提供%u位精度的小数位数\n\n”, DBL_DIG);


printf(“long double类型的变量提供%u位精度的小数位数\n”, LDBL_DIG);

system(“pause”);

return 0; }

输出结果:

char类型的变量存储值从-128到127unsigned char类型的变量存储值从0到255 short类型的变量存储值从-32768到32767

unsigned short类型的变量存储值从0到65535

int类型的变量存储值从-2147483648到2147483647

unsigned int类型的变量存储值从0到4294967295

long类型的变量存储值从-2147483648到2147483647

unsigned long类型的变量存储值从0到4294967295

 

long long类型的变量存储值从-9223372036854775808到9223372036854775807

unsigned long long类型的变量存储值从0到18446744073709551615

最小的非零float类型变量的值的是1.175e-038

最大的float类型变量的值的是3.403e+038

最小的非零double类型变量的值的是2.225e-308

最大的double类型变量的值的是1.798e+308

 

最小的非零long double类型变量的值的是-0.000e+000

最大的long double类型变量的值的是-1.#QOe+000

float类型的变量提供6位精度的小数位数

double类型的变量提供15位精度的小数位数

 

long double类型的变量提供18位精度的小数位数