Home »
C# Tutorial
What is the difference between Int16 and UInt16 in C#?
In this tutorial, we will learn about the difference between Int16 and UInt16 in C#.
By IncludeHelp Last updated : April 04, 2023
Int16
In C#, Int16 known as a signed integer of 2 bytes which can store both types of values including negative and positive between the ranges of -32768 to +32767.
UInt16
In C#, UInt16 known as an unsigned integer of 2 bytes which can store only positive values between the ranges of 0 to 65535.
Differences between Int16 and UInt16
In C#, both Int16 and UInt16 are used to specify two bytes of integer data. The main difference between Int16 and UInt16 is that Int16 specifies signed integer values from -32768 to +32767, while UInt16 specifies unsigned integer values from 0 to 65535.
Int16 |
UInt16 |
Int16 stands for signed integer. |
UInt16 stands for unsigned integer. |
It's capacity to store the value is -32768 to +32767. |
It's capacity to store the value is 0 to 65535. |
It can store negative and positive integers. |
It can store only positive integers. |
It occupies 2-bytes space in the memory. |
It also occupies 2-bytes space in the memory. |
Declaration syntax: Int16 variable; |
Declaration syntax: UInt16 variable; |
C# example to demonstrate the differences between Int16 and UInt16
In this example, to explain the differences between Int16 and UInt16 in C#, we are printing their minimum and maximum values, we are also declaring two arrays – arr1 is a signed integer type and arr2 is an unsigned integer type. Initializing the arrays with corresponding negative and positive values based on their capacity.
using System;
using System.Text;
namespace Test {
class Program {
static void Main(string[] args) {
//Int16 value range
Console.WriteLine("Int16 value capacity...");
Console.WriteLine("Min: {0}, Max: {1}\n", Int16.MinValue, Int16.MaxValue);
//UInt16 value range
Console.WriteLine("UInt16 value capacity...");
Console.WriteLine("Min: {0}, Max: {1}\n", UInt16.MinValue, UInt16.MaxValue);
//Int16 array
Int16[] arr1 = {
-32768,
0,
1000,
32000,
32767
};
Console.WriteLine("UInt16 array elements...");
foreach(Int16 num in arr1) {
Console.WriteLine(num);
}
Console.WriteLine();
//UInt16 array
UInt16[] arr2 = {
0,
100,
23000,
65000,
65525
};
Console.WriteLine("UInt16 array elements...");
foreach(UInt16 num in arr2) {
Console.WriteLine(num);
}
//hit ENTER to exit
Console.ReadLine();
}
}
}
Output
Int16 value capacity...
Min: -32768, Max: 32767
UInt16 value capacity...
Min: 0, Max: 65535
UInt16 array elements...
-32768
0
1000
32000
32767
UInt16 array elements...
0
100
23000
65000
65525