What is Difference Among int , int16 , int 32 and int64
- Each type of integer has a different range of storage capacity
Type Capacity
Int16 -- (-32,768 to +32,767)
Int32 -- (-2,147,483,648 to +2,147,483,647)
Int64 -- (-9,223,372,036,854,775,808 to +9,223,372,036,854,775,807)
- int and Int32 are indeed synonymous; int will be a little more familiar looking, Int32 makes the 32-bitness more explicit to those reading your code. I would be inclined to use int where I just need 'an integer'.
- The only real difference here is the size. All of the int types here are signed integer values which have varying sizes
Int16
: 2 bytesInt32
andint
: 4 bytesInt64
: 8 bytes
According to Jeffrey Richter(one of the contributors of .NET framework development)'s book 'CLR via C#':
int is a primitive type allowed by the C# compiler, whereas Int32 is the Framework Class Library type (available across languages that abide by CLS). In fact, int translates to Int32 during compilation.
int
It is a primitive data type defined in C#.
It is mapped to Int32 of FCL type.
It is a value type and represent System.Int32 struct.
It is signed and takes 32 bits.
It has minimum -2147483648 and maximum +2147483647 value.
Int16
It is a FCL type.
In C#, short is mapped to Int16.
It is a value type and represent System.Int16 struct.
It is signed and takes 16 bits.
It has minimum -32768 and maximum +32767 value.
Int 64
It is a value type.
Represent System.Int64 struct.
In c#, long is mapped to Int64.
It is a FCL type.
It is signed and takes 64 bits.
Minimum capacity –9,223,372,036,854,775,808 and Maximum capacity+9,223,372,036,854,775,807.
It is a value type.
Represent System.Int64 struct.
In c#, long is mapped to Int64.
It is a FCL type.
It is signed and takes 64 bits.
Minimum capacity –9,223,372,036,854,775,808 and Maximum capacity+9,223,372,036,854,775,807.
Int32
It is a FCL type.In C#, int is mapped to Int32.It is a value type and represent System.Int32 struct.It is signed and takes 32 bits.It has minimum -2147483648 and maximum +2147483647 capacity.
Note
- A number of developers think that int represents a 32-bit integer when the application is running on a 32-bit OS and it represents a 64-bit integer when the application is running on a 64-bit OS. This is absolutely wrong.
- In C# int is a primitive data type and it always mapped to System.Int32 whether the OS is 32-bit or 64-bit.
sir is there also any file like system.int64 or system.int16??
ReplyDeleteand what is fcl type?
System is a namespace and where we have int16 ,int32 and int64 is defined as struct .if you are not using "using System" in your c# program then you have to use System.int16 instead of int16
ReplyDeleteFCl is Framework Class Library which include property ,class ,interfaces and datatypes ,to provide access to System Functionality