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

本文通过C语言代码展示了各种基本数据类型的存储范围及浮点数的精度,包括整型、无符号整型、长整型、浮点型、双精度型和长双精度型等,有助于理解不同类型的有效值范围。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值