Here is the Visual C++ 1.52 help page on data types:
Please also note that the format of floating-point numbers is specified in IEEE 754; http://research.microsoft.com/~holla...ieeefloat.html .
C/C++ recognizes the types shown in the table below.
Type Name Bytes Other Names Range of Values
int * signed, System dependent
unsigned int * unsigned System dependent
char 1 signed char -128 to 127
unsigned char 1 none 0 to 255
short 2 short int, -32,768 to 32,767
signed short int
unsigned short 2 unsigned short int 0 to 65,535
long 4 long int, -2,147,483,648 to 2,147,483,647
signed long int
unsigned long 4 unsigned long int 0 to 4,294,967,295
enum 2 none -32,768 to 32,767
float 4 none 3.4E +/- 38 (7 digits)
double 8 none 1.7E +/- 308 (15 digits)
long double 10 none 1.2E +/- 4932 (19 digits)
Signed and unsigned are modifiers that can be used with any integral type.
The char type is signed by default, but you can specify /J to make it unsigned by default.
The int and unsigned int types have the size of the system word.
This is two bytes (the same as short and unsigned short) on MS-DOS and 16-bit versions of Windows.
However, portable code should not depend on the size of int.
If you are going to inspect your floating-point numbers on the bit level (eg, in hex) and you are using an Intel machine, keep in mind that Intel machines are little-endian, such that the bytes of a multi-byte value are in reverse order, with the least significant byte first.