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



Comments and Discussions!










Copyright © 2023 www.includehelp.com. All rights reserved.