• 编译器定义的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到127

    unsigned 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位精度的小数位数
  • 相关阅读:
    顺序前缀改为随机性前缀 反转时间戳 反转年月日
    后台组件的治理思路
    干货 | 高耦合场景下,Trip.com如何做支付设计与落地
    每天响应数亿次请求,腾讯云如何提供高可用API服务?
    系统管理及操作命令
    远程连接及系统管理
    linux系统部署安装过程
    day 1 硬件组成概念及介绍笔记
    day 4
    day 3
  • 原文地址:https://www.cnblogs.com/ma6174/p/2337958.html
Copyright © 2020-2023  润新知