Data Type Ranges

Data Type Ranges

https://docs.microsoft.com/en-us/cpp/cpp/data-type-ranges?view=vs-2019

  • 05/28/2020
  • 2 minutes to read
  • The Microsoft C++ 32-bit and 64-bit compilers recognize the types in the table later in this article.
      • int (unsigned int)

      • __int8 (unsigned __int8)

      • __int16 (unsigned __int16)

      • __int32 (unsigned __int32)

      • __int64 (unsigned __int64)

      • short (unsigned short)

      • long (unsigned long)

      • long long (unsigned long long)

      If its name begins with two underscores (__), a data type is non-standard.

      The ranges that are specified in the following table are inclusive-inclusive.

      TABLE 1
      Type NameBytesOther NamesRange of Values
      int4signed-2,147,483,648 to 2,147,483,647
      unsigned int4unsigned0 to 4,294,967,295
      __int81char-128 to 127
      unsigned __int81unsigned char0 to 255
      __int162shortshort intsigned short int-32,768 to 32,767
      unsigned __int162unsigned shortunsigned short int0 to 65,535
      __int324signedsigned intint-2,147,483,648 to 2,147,483,647
      unsigned __int324unsignedunsigned int0 to 4,294,967,295
      __int648long longsigned long long-9,223,372,036,854,775,808 to 9,223,372,036,854,775,807
      unsigned __int648unsigned long long0 to 18,446,744,073,709,551,615
      bool1nonefalse or true
      char1none-128 to 127 by default

      0 to 255 when compiled by using /J
      signed char1none-128 to 127
      unsigned char1none0 to 255
      short2short intsigned short int-32,768 to 32,767
      unsigned short2unsigned short int0 to 65,535
      long4long intsigned long int-2,147,483,648 to 2,147,483,647
      unsigned long4unsigned long int0 to 4,294,967,295
      long long8none (but equivalent to __int64)-9,223,372,036,854,775,808 to 9,223,372,036,854,775,807
      unsigned long long8none (but equivalent to unsigned __int64)0 to 18,446,744,073,709,551,615
      enumvariesnone 
      float4none3.4E +/- 38 (7 digits)
      double8none1.7E +/- 308 (15 digits)
      long doublesame as doublenoneSame as double
      wchar_t2__wchar_t0 to 65,535

      Depending on how it's used, a variable of __wchar_t designates either a wide-character type or multibyte-character type. Use the L prefix before a character or string constant to designate the wide-character-type constant.

      signed and unsigned are modifiers that you can use with any integral type except bool. Note that charsigned char, and unsigned char are three distinct types for the purposes of mechanisms like overloading and templates.

      The int and unsigned int types have a size of four bytes. However, portable code should not depend on the size of int because the language standard allows this to be implementation-specific.

      C/C++ in Visual Studio also supports sized integer types. For more information, see __int8, __int16, __int32, __int64 and Integer Limits.

      For more information about the restrictions of the sizes of each type, see Built-in types.

      The range of enumerated types varies depending on the language context and specified compiler flags. For more information, see C Enumeration Declarations and Enumerations.

      See also

      Keywords
      Built-in types

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值