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 (__
), the data type is nonstandard.
The ranges specified in the following table are inclusive-inclusive.
Type Name Bytes Other Names Range of Valuesint
4 signed
-2,147,483,648 to 2,147,483,647 unsigned int
4 unsigned
0 to 4,294,967,295 __int8
1 char
-128 to 127 unsigned __int8
1 unsigned char
0 to 255 __int16
2 short
, short int
, signed short int
-32,768 to 32,767 unsigned __int16
2 unsigned short
, unsigned short int
0 to 65,535 __int32
4 signed
, signed int
, int
-2,147,483,648 to 2,147,483,647 unsigned __int32
4 unsigned
, unsigned int
0 to 4,294,967,295 __int64
8 long long
, signed long long
-9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 unsigned __int64
8 unsigned long long
0 to 18,446,744,073,709,551,615 bool
1 none false
or true
char
1 none -128 to 127 by default
0 to 255 when compiled by using /J
signed char
1 none -128 to 127 unsigned char
1 none 0 to 255 short
2 short int
, signed short int
-32,768 to 32,767 unsigned short
2 unsigned short int
0 to 65,535 long
4 long int
, signed long int
-2,147,483,648 to 2,147,483,647 unsigned long
4 unsigned long int
0 to 4,294,967,295 long long
8 none (but equivalent to __int64
) -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 unsigned long long
8 none (but equivalent to unsigned __int64
) 0 to 18,446,744,073,709,551,615 enum
varies none float
4 none 3.4E +/- 38 (seven digits) double
8 none 1.7E +/- 308 (fifteen digits) long double
same as double
none Same as double
wchar_t
2 __wchar_t
0 to 65,535
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 char
, signed 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 4 bytes. However, portable code shouldn't 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 alsoRetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4