问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

各种数据类型的取值范围(总结全)

创作时间:
作者:
@小白创作中心

各种数据类型的取值范围(总结全)

引用
CSDN
1.
https://blog.csdn.net/junjun5156/article/details/51939951

在编程中,数据类型是基础且重要的概念。不同的数据类型决定了变量能够存储的数据范围和占用的内存空间大小。本文总结了常见的整型、浮点型和指针类型数据的位数、占用字节和取值范围,帮助读者快速掌握这些基础知识。

类型
32位占用字节
32位取值范围
64位占用字节
64位取值范围
bool
1个字节
0/1
1个字节
0/1
BOOL
4个字节
TRUE/FALSE/ERROR
4个字节
TRUE/FALSE/ERROR
char
1个字节
-128~127
1个字节
-128~127
unsigned char
1个字节
0~255
1个字节
0~255
short
2个字节
-32768~32767
2个字节
-32768~32767
unsigned short
2个字节
0~65535
2个字节
0~65535
int
4个字节
-2147483648~2147483647
4个字节
-2147483648~2147483647
unsigned int
4个字节
0~4294967295
4个字节
0~4294967295
long
4个字节
-2147483648~2147483647
8个字节
-9223372036854775808~9223372036854775807
unsigned long
4个字节
0~4294967295
8个字节
0~18446744073709551615
long long
8个字节
-9223372036854775808~9223372036854775807
8个字节
-9223372036854775808~9223372036854775807
unsigned long long
8个字节
0~18446744073709551615
8个字节
0~18446744073709551615
pointer(指针)
4个字节
8个字节

浮点数在32位与64位系统中的占用字节数和取值范围保持一致:

类型
位数(字节数)
有效数字
数值范围
float
32(4)
6~7
-3.410^38~+3.410^38
double
64(8)
15~16
-1.710^-308~1.710^308
long double
96(12)
18~19
-1.210^-4932~1.210^4932

注意:C语言标准没有精确定义long double的大小,而是留给编译器具体实现的自由。在实际开发过程中很少会用到long double类型。

关于double类型的超大取值范围:

由于double类型是浮点数,这种类型可以用科学记数法表示,所以表示范围非常大。但是,使用浮点数的代价就是损失了精度。它把这部分精度用于指数的表示。所以double类型的优点就是数据范围大,缺点是精度不足,大概只有15~16位有效位数。

注意:占多少个字节是由编译器决定的,ANSI标准定义int是占2个字节。TC是按ANSI标准的,它的int是占2个字节的。你可以在TC里试。printf("%d",sizeof(int));结果是2;但是在VC里,一个int是占4个字节的,在VC里面,printf("%d",sizeof(int));cout<<sizeof(int);结果都是4。不同的编译器,规定也不一样。float,double也是一样的,在不同的编译器里,占的字节是不一样的。

本文原文来自CSDN

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号