C++中常见类型取值范围

来源:互联网 发布:ubuntu设置语言为中文 编辑:程序博客网 时间:2024/05/16 12:40

在编译ffplay.c中的过程中在cmduitls.c中碰到了-1.0/0.0这个表达式,VC通不过,发现时要输入浮点最小和最大值,发现定义在float.h文件中,记录下来以备后用


    #include <conio.h>
    #include <stdio.h>
    #include <limits.h>
    #include <float.h>

    int main(void)
    {
    clrscr();
    printf("char的位数:%u\n",CHAR_B99v);
    printf("char类型的最大值:%d\n",CHAR_MAX);
    printf("char类型的最小值:%d\n",CHAR_MIN);
    printf("signed char类型的最大值:%d\n",SCHAR_MAX);
    printf("signed char类型的最小值:%d\n",SCHAR_MIN);
    printf("unsigned char类型的最大值:%u\n",UCHAR_MAX);
    getch();

    clrscr();
    printf("short类型的最大值:%hd\n",SHRT_MAX);
    printf("short类型的最小值:%hd\n",SHRT_MIN);
    printf("unsigned short类型的最大值:%u\n",USHRT_MAX);
    getch();

    clrscr();
    printf("int类型的最大值:%d\n",INT_MAX);
    printf("int类型的最小值:%d\n",INT_MIN);
    printf("unsigned int类型的最大值:%u\n",UINT_MAX);
    getch();

    clrscr();
    printf("long类型的最大值:%ld\n",LONG_MAX);
    printf("long类型的最小值:%ld\n",LONG_MIN);
    printf("unsigned long类型的最小值:%lu\n",ULONG_MAX);
    getch();

    clrscr();
    printf("float类型的尾数位数:%u\n",FLT_MANT_DIG);
    printf("float类型的最小有效数字位数:%u\n",FLT_DIG);
    printf("带有全部有效数字位数的float类型的负指数的最小值:%d\n",FLT_MAX_10_EXP);
    printf("带有全部有效数字位数的float类型的正指数的最大值:%d\n",FLT_MIN_10_EXP);
    printf("保留全部精度的float类型正数的最小值:%e\n",FLT_MIN);
    printf("保留全部精度的float类型正数的最大值:%e\n",FLT_MAX);
    printf("1.00和比1.00大的最小的float类型值之间的差值:%e\n",FLT_EPSILON);
    getch();

    clrscr();
    printf("double类型的尾数位数:%u\n",DBL_MANT_DIG);
    printf("double类型的最小有效数字位数:%u\n",DBL_DIG);
    printf("带有全部有效数字位数的double类型的负指数的最小值:%u\n",DBL_MAX_10_EXP);
    printf("带有全部有效数字位数的double类型的正指数的最大值:%d\n",DBL_MIN_10_EXP);
    printf("保留全部精度的double类型正数的最小值:%e\n",DBL_MIN);
    printf("保留全部精度的double类型正数的最小值:%e\n",DBL_MAX);
    printf("1.00和比1.00大的最小的double类型值之间的差值:%e\n",DBL_EPSILON);
    getch();

    clrscr();
    printf("long double类型的尾数位数:%d\n",LDBL_MANT_DIG);
    printf("long double类型的最小有效数字位数:%d\n",LDBL_DIG);
    printf("带有全部有效数字位数的long double类型的负指数的最大值:%d\n",LDBL_MAX_10_EXP);
    printf("带有全部有效数字位数的long double类型的正指数的最小值:%d\n",LDBL_MIN_10_EXP);
    printf("保留全部精度的long double类型正数的最小值:%le\n",LDBL_MIN);
    printf("保留全部精度的long double类型正数的最大值:%le\n",LDBL_MAX);
    printf("1.00和比1.00大的最小的long double类型值之间的差值:%le\n",LDBL_EPSILON);
    getch();
    return 0;
    }

原创粉丝点击