C语言各数据类型大小和取值范围

您所在的位置:网站首页 c语言中各类函数 C语言各数据类型大小和取值范围

C语言各数据类型大小和取值范围

2023-07-26 08:11| 来源: 网络整理| 查看: 265

因为CPU的差异,各系统中的数据类型所占的字节数(bytes)不同,二进制位数(bit)也不同。那么怎样才能知道自己系统的数据类型的字节数,位数呢?

授之以鱼不如授之以渔,大家可以自己从电脑里获取这些信息。

首先我们知道1个字节等于8个位,可以用sizeof()关键字设计以下程序解决:

/*获取当前操作系统的字节数(bytes)和位数(bit)*/ #include int main(void) { printf("int:bytes %d;bit %d", sizeof(int), sizeof(int) * 8); return 0; }

这里写图片描述 由此可得知楼主系统的整数(int)所占字节数是4,位数为32

而取值范围则可以用极限值符号(极限值符号定义在 limits.h 头文件中,以下会详细介绍)来获得 下面以char类型为例:

/*获取char数据类型的取值范围*/ #include #include int main(void) { printf("char:MIN %d;MAX %d", CHAR_MIN, CHAR_MAX); return 0; }

这里写图片描述

有符号整数类型

类型名称字节数取值范围signed char1-2^7(-128) ~ 2^7-1(127)short int 或 short2-2^15(-32 768) ~ 2^15-1(32 767)int4-2^31(-2 147 483 648) ~ 2^31-1(2 147 483 647)long int 或 long4-2^31(-2 147 483 648) ~ 2^31-1(2 147 483 647)long long int 或 long long8-2^63(-9.2233720368548e+18) ~ 2^63-1(9.2233720368548e+18)

无符号整数类型

类型名称字节数取值范围unsigned char10 ~ 2^8-1(255)unsigned short int 或 unsigned short20 ~ 2^16-1(65 535)unsigned int40 ~ 2^32-1(4 294 967 295)unsigned long int 或 unsigned long40 ~ 2^32-1(4 294 967 295)unsigned long long int 或 unsigned long long80 ~ 2^64-1(1.844674407371e+19)

浮点类型

类型名称字节数取值范围float4-/+3.4e38(精确到6位小数)double8-/+1.7e308(精确到15位小数)long double12-/+1.19e4932(精确到18位小数)

极限值符号

表示有符号整数类型的极限值符号

类型名称下限上限charCHAR_MINCHAR_MAXshortSHRT_MINSHRT_MAXintINT_MININT_MAXlongLONG_MINLONG_MAXlong longLLONG_MINLLONG_MAX

表示无符号整数类型的极限值符号

类型名称下限上限unsigned char0UCHAR_MAXunsigned short0USHRT_MAXunsigned int0UINT_MAXunsigned long0ULONG_MAXunsigned long long0ULLONG_MAX

表示浮点类型的极限值符号

类型名称下限上限floatFLT_MINFLT_MAXdoubleDBL_MINDBL_MAXlong doubleLDBL_MINLDBL_MAX

好了,今天就分享到这里,如果以后遇见新的用法楼主还会更新的,欢迎各位小伙伴来搬砖哦! 转载时请注明出处!转载时请注明出处!转载时请注明出处!……



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3