Training
Module
Choose the correct data type in your C# code - Training
Choose the correct data type for your code from several basic types used in C#.
This browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
When you use the Microsoft C++ compiler (MSVC) to create applications to run on a 64-bit Windows operating system, you should be aware of the following issues:
An int
and a long
are 32-bit values on 64-bit Windows operating systems. For programs that you plan to compile for 64-bit platforms, you should be careful not to assign pointers to 32-bit variables. Pointers are 64-bit on 64-bit platforms, and you will truncate the pointer value if you assign it to a 32-bit variable.
size_t
, time_t
, and ptrdiff_t
are 64-bit values on 64-bit Windows operating systems.
time_t
is a 32-bit value on 32-bit Windows operating systems in Visual Studio 2005 and earlier. time_t
is now a 64-bit integer by default. For more information, see Time Management.
You should be aware of where your code takes an int
value and processes it as a size_t
or time_t
value. It is possible that the number could grow to be larger than a 32-bit number and data will be truncated when it is passed back to the int
storage.
The %x (hex int
format) printf
modifier will not work as expected on a 64-bit Windows operating system. It will only operate on the first 32 bits of the value that is passed to it.
Use %I32x to display a 32-bit integral type in hex format.
Use %I64x to display a 64-bit integral type in hex format.
The %p (hex format for a pointer) will work as expected on a 64-bit Windows operating system.
For more information, see:
Configure C++ projects for 64-bit, x64 targets
Visual C++ Porting and Upgrading Guide
Training
Module
Choose the correct data type in your C# code - Training
Choose the correct data type for your code from several basic types used in C#.