📜  C#| Int16结构(1)

📅  最后修改于: 2023-12-03 15:14:27.866000             🧑  作者: Mango

C# | Int16结构

在C#编程语言中,Int16结构是用于表示16位有符号整数的数据类型。它在.NET框架中被定义为System.Int16。下面是该结构的主要特性:

  • 值范围:从-32768到32767(包括两个端点)。
  • 大小:2个字节(16位)。
  • 默认值:0。
  • 存储方式:按照两个字节的二进制补码形式存储。
声明Int16

声明Int16变量的语法如下:

short num;

在上述示例中,num是一个Int16类型的变量,它的值可以是从-32768到32767之间的任何16位有符号整数。

将字符串转换为Int16

在C#中,您可以使用Parse()或TryParse()方法将一个字符串转换为Int16类型。

string str = "23";
Int16 Inum = Int16.Parse(str);

在上述示例中,我们使用Parse()方法将字符串“23”转换为Int16类型,并将结果分配给Inum变量。

如果字符串无法转换为Int16类型,则Parse()方法会抛出异常。为了避免这种情况,可以使用TryParse()方法。

string str = "abcd";
Int16 Inum;
if (Int16.TryParse(str, out Inum))
{
    Console.WriteLine("String parsed to Int16: " + Inum);
}
else
{
    Console.WriteLine("String could not be parsed to Int16");
}

在上述示例中,TryParse()方法尝试将字符串“abcd”转换为Int16类型。由于字符串无法转换,因此输出将显示“String could not be parsed to Int16”。

算术运算符

Int16结构支持与整数类型(如Int32和Int64)相同的算术运算符。下面是一些示例:

Int16 a = 10;
Int16 b = 20;
Int16 c = (Int16)(a + b);
Int16 d = (Int16)(a - b);
Int16 e = (Int16)(a * b);
Int16 f = (Int16)(a / b);
Int16 g = (Int16)(a % b);
位运算符

Int16结构还支持位运算符,例如AND(&)、OR(|)、XOR(^)和Compliment(~)。下面是一个示例:

Int16 a = 12; // 二进制:0000 1100
Int16 b = 25; // 二进制:0001 1001
Int16 c = (Int16)(a & b); // AND 运算
Int16 d = (Int16)(a | b); // OR 运算
Int16 e = (Int16)(a ^ b); // XOR 运算
Int16 f = (Int16)(~a); // 按位翻转
比较运算符

Int16结构还支持比较运算符,例如“==”、“!=”、“>”、“<”、“> =”和“<=”。下面是一个示例:

Int16 a = 10;
Int16 b = 20;
if (a == b)
{
    Console.WriteLine("a is equal to b");
}
else if (a != b)
{
    Console.WriteLine("a is not equal to b");
}
if (a > b)
{
    Console.WriteLine("a is greater than b");
}
else if (a < b)
{
    Console.WriteLine("a is less than b");
}
if (a >= b)
{
    Console.WriteLine("a is greater than or equal to b");
}
else if (a <= b)
{
    Console.WriteLine("a is less than or equal to b");
}

在上述示例中,我们使用比较运算符:“==”,“!=”,“>”,“<”,“> =”和“<=”来比较Int16变量a和b之间的关系。

总结

正如我们在本文中看到的,Int16结构是C#编程语言中一种非常有用的数据类型,可以用于表示16位有符号整数。使用Int16结构,您可以执行各种算术、比较和位运算。