加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

我的处理器上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;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读