• VC中C++数值范围的确定


    1. Visual C++ 32 位和 64 位编译器可识别本文后面的表中的类型。

    如果其名称以两个下划线 (__) 开始,则数据类型是非标准的。

    下表中指定的范围均包含起始值和结束值。

    类型名称字节其他名称值的范围
    int 4 signed –2,147,483,648 到 2,147,483,647
    unsigned int 4 unsigned 0 到 4,294,967,295
    __int8 1 char –128 到 127
    unsigned __int8 1 unsigned char 0 到 255
    __int16 2 short、short int、signed short int –32,768 到 32,767
    unsigned __int16 2 unsigned short、unsigned short int 0 到 65,535
    __int32 4 signed、signed int、int –2,147,483,648 到 2,147,483,647
    unsigned __int32 4 unsigned、unsigned int 0 到 4,294,967,295
    __int64 8 long long、signed long long –9,223,372,036,854,775,808 到 9,223,372,036,854,775,807
    unsigned __int64 8 unsigned long long 0 到 18,446,744,073,709,551,615
    bool 1 false 或 true
    char 1 -128 到 127(默认)

    0 到 255(当使用 /J 编译时)
    signed char 1 –128 到 127
    unsigned char 1 0 到 255
    short 2 short int、signed short int –32,768 到 32,767
    unsigned short 2 unsigned short int 0 到 65,535
    long 4 long int、signed long int –2,147,483,648 到 2,147,483,647
    unsigned long 4 unsigned long int 0 到 4,294,967,295
    long long 8 无(与 __int64 等效) –9,223,372,036,854,775,808 到 9,223,372,036,854,775,807
    unsigned long long 8 无(与无符号的 __int64 等效) 0 到 18,446,744,073,709,551,615
    enum varies 请参阅本文后面的备注
    浮动 4 3.4E +/- 38(7 位数)
    double 8 1.7E +/- 308(15 位数)
    long double 与 double 相同 与 double 相同
    wchar_t 2 __wchar_t 0 到 65,535

    2. 代码移植性问题,由于 语言标准允许可移植代码特定于实现,因此推荐不使用 _ _ intX 类型,因为这是Microsoft VC独有的数据类型。

      (1)int 和 unsigned``int 类型具有四个字节的大小。

       但是,由于语言标准允许可移植代码特定于实现,因此该代码不应依赖于 int 的大小。

       (2)__intn 类型说明符声明 8 位、16 位、32 位或 64 位整数变量,其中 n 为 8、16、32 或 64。

    endl;

  • 相关阅读:
    【项目管理】WBS工作分解结构
    【代理篇】内网穿透利器——Termite
    【漏洞分析】Discuz! X系列全版本后台SQL注入漏洞
    【代理篇】内网穿透利器——EarthWorm
    【漏洞复现】Apache Solr远程代码执行(CVE-2019-0193)
    【漏洞复现】Apache Solr via Velocity template远程代码执行
    【漏洞复现】PHPStudy后门
    记一次织梦cms渗透测试
    Mybatis源码手记-从缓存体系看责任链派发模式与循环依赖企业级实践
    Dubbo源码手记-服务注册
  • 原文地址:https://www.cnblogs.com/icmzn/p/9162068.html
Copyright © 2020-2023  润新知