zoukankan      html  css  js  c++  java
  • C语言中各个数据类型的取值范围

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

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

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

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

     

    由此可得知楼主系统的整数(int)所占字节数是4,位数为32

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

    /*获取char数据类型的取值范围*/
    #include<stdio.h>
    #include<limits.h>
    int main(void)
    {
    printf("char:MIN %d;MAX %d", CHAR_MIN, CHAR_MAX);

    return 0;
    }

     

    有符号整数类型

    类型名称 字节数 取值范围
    signed char 1 -2^7 ~ 2^7-1
    short int 或 short 2 -2^15 ~ 2^15-1
    int 4 -2^31 ~ 2^31-1
    long int 或 long 4 -2^31 ~ 2^31-1
    long long int 或 long long 8 -2^63 ~ 2^63-1
    无符号整数类型

    类型名称 字节数 取值范围
    unsigned char 1 0 ~ 2^8
    unsigned short int 或 unsigned short 2 0 ~ 2^16
    unsigned int 4 0 ~ 2^32
    unsigned long int 或 unsigned long 4 0 ~ 2^32
    unsigned long long int 或 unsigned long long 8 0 ~ 2^64
    浮点类型

    类型名称 字节数 取值范围
    float 4 -/+3.4e38(精确到6位小数)
    double 8 -/+1.7e308(精确到15位小数)
    long double 12 -/+1.19e4932(精确到18位小数)
    极限值符号

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

    类型名称 下限 上限
    char CHAR_MIN CHAR_MAX
    short SHRT_MIN SHRT_MAX
    int INT_MIN INT_MAX
    long LONG_MIN LONG_MAX
    long long LLONG_MIN LLONG_MAX
    表示无符号整数类型的极限值符号

    类型名称 下限 上限
    unsigned char 0 UCHAR_MAX
    unsigned short 0 USHRT_MAX
    unsigned int 0 UINT_MAX
    unsigned long 0 ULONG_MAX
    unsigned long long 0 ULLONG_MAX
    表示浮点类型的极限值符号

    类型名称 下限 上限
    float FLT_MIN FLT_MAX
    double DBL_MIN DBL_MAX
    long double LDBL_MIN LDBL_MAX
     
     

  • 相关阅读:
    使用数字进行字符遍历
    注意:C++中double的表示是有误差的
    ER模型到关系模型的转换规则
    SQL中查询优化的主要策略
    分解成3NF保持函数依赖且为无损连接的算法
    函数依赖集闭包、属性集闭包、超键、候选键和最小函数依赖集的求法。
    分解成3NF的保持函数依赖的分解算法:
    模式分解是否为无损连接的判断方法
    字符串处理技巧
    sort+结构体实现二级排序
  • 原文地址:https://www.cnblogs.com/peteremperor/p/10250762.html
Copyright © 2011-2022 走看看