编译器定义的C/C++语言各种基本数据类型的取值范围-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

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

简介:

貌似有些编译器并不完全支持所有数据类型,运行结果可能也有差异,依编译器而异,但是获得方式都是一样的

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#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;
}

运行结果为

wKiom1YfqmywfrMnAAPiWNcdmAI458.jpg



本文转自 七十七快 51CTO博客,原文链接:http://blog.51cto.com/10324228/1703360

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章
最新文章
相关文章