我的处理器上C中的int,short和其他数据类型的范围?
发布时间:2020-12-16 09:50:30 所属栏目:百科 来源:网络整理
导读:我正在读一本旧的C书,据此而言 int范围值从-32768到32767. 如果我的机器可以容纳比该限制更大的int,我如何找到特定于我的机器的这些数据类型(short,int,long,double,float)的范围? 那有什么方法吗? 解决方法 从 this开始,看一下脚注: 实际值取决于特定系
我正在读一本旧的C书,据此而言
int范围值从-32768到32767. 如果我的机器可以容纳比该限制更大的int,我如何找到特定于我的机器的这些数据类型(short,int,long,double,float)的范围? 那有什么方法吗? 解决方法
从
this开始,看一下脚注:
>实际值取决于特定系统和库实现,但应反映目标平台中这些类型的限制. 如果您在系统上运行以下代码,它应该提供一些见解,因为返回的值可能与上述链接中的值不同或不同. #include <stdio.h> #include <float.h> #include <limits.h> int main() { printf("ttUsing <limits.h> library definitions...n"); printf("CHARn"); printf("signed char max: %dn",SCHAR_MAX); printf("unsigned char max: %un",UCHAR_MAX); // Note use of u,formatting output printf("signed char min: %dn",SCHAR_MIN); printf("SHORTn"); printf("signed short min: %dn",SHRT_MIN); printf("signed short max: %dn",SHRT_MAX); printf("unsigned short max: %dn",USHRT_MAX); printf("INTn"); printf("signed int max: %dn",INT_MAX); printf("unsigned int max: %un",UINT_MAX); printf("signed int min: %dn",INT_MIN); printf("LONGn"); printf("signed long max: %dn",LONG_MAX); printf("unsigned long max: %un",ULONG_MAX); printf("signed long min: %dn",LONG_MIN); printf("FLOATn"); printf("signed float max: %en",FLT_MAX); printf("signed float min: %en",FLT_MIN); printf("DOUBLEn"); printf("signed double max: %en",DBL_MAX); printf("signed double min: %en",DBL_MIN); return 0; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |