编译器定义的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位精度的小数位数
复制代码

博主ma6174对本博客文章(除转载的)享有版权,未经许可不得用于商业用途。转载请注明出处http://www.cnblogs.com/ma6174/

对文章有啥看法或建议,可以评论或发电子邮件到ma6174@163.com


本文转自ma6174博客园博客,原文链接:http://www.cnblogs.com/ma6174/archive/2012/02/04/2337958.html ,如需转载请自行联系原作者
相关文章
|
6天前
|
Linux 程序员 图形学
C++语言在现代软件开发中的应用与实践
C++语言在现代软件开发中的应用与实践
13 2
|
6天前
|
存储 程序员 C语言
深入理解C++:从语言特性到实践应用
深入理解C++:从语言特性到实践应用
18 3
|
6天前
|
存储 算法 安全
C++语言深度探索:从基础到实践
C++语言深度探索:从基础到实践
11 2
|
11天前
|
存储 编译器 C++
C++从入门到精通:1.1.2基础语法之数据类型
C++从入门到精通:1.1.2基础语法之数据类型
|
12天前
|
存储 安全 编译器
C/C++(2)基本语法和数据类型
C/C++(2)基本语法和数据类型
4 0
|
17天前
|
数据安全/隐私保护 C++
C++ 类方法解析:内外定义、参数、访问控制与静态方法详解
C++ 中的类方法(成员函数)分为类内定义和类外定义,用于操作类数据。类内定义直接在类中声明和定义,而类外定义则先在类中声明,再外部定义。方法可以有参数,访问权限可通过 public、private 和 protected 控制。静态方法与类关联,不依赖对象实例,直接用类名调用。了解这些概念有助于面向对象编程。
15 0
|
18天前
|
机器学习/深度学习 人工智能 大数据
开发语言漫谈-C++
C++最初的名字为“带类的C”
|
18天前
|
缓存 编译器 API
NumPy与其他语言(如C/C++)的接口实践
【4月更文挑战第17天】本文介绍了NumPy与C/C++的接口实践,包括Python与C/C++交互基础、NumPy的C API和Cython的使用。通过案例展示了如何将C++函数与NumPy数组结合,强调了内存管理、类型匹配、错误处理和性能优化的最佳实践。掌握这些技能对于跨语言交互和集成至关重要。
|
19天前
|
编译器 C语言 C++
【C++成长记】C++入门 | 类和对象(上) |面向过程和面向对象初步认识、类的引入、类的定义、类的访问限定符及封装
【C++成长记】C++入门 | 类和对象(上) |面向过程和面向对象初步认识、类的引入、类的定义、类的访问限定符及封装
|
20天前
|
C++
C/C++】如何不使用 sizeof 求数据类型占用的字节数
C/C++】如何不使用 sizeof 求数据类型占用的字节数