C#的整数类型

顾名思义,整数类型的变量的值为整数。数学上的整数可以从负无穷大到正无穷大,但是由于计算机的存储单元是有限的,所以计算机语言提供了整数类型的值总是在一定范围之内。C#中有8种整数类型:短字节型(sbyte)、字节型(byte)、短整型(short)、无符号短整型(ushort)、整型(int)、无符号整型(uint)、长整型(long)、无符号长整型(ulong)。划分的依据是根据该类型的变量在内存中所占的位数。位数的概念是按

照2的指数幂来定义的,比如说8位整数,则它可以表示2的8个方,即256。这和我们在Windows系统中显示属性是一样的,比如16位真彩色,表示一共可以显示2的16次方即65536种颜色。 这些整数类型在数学上的表示以及在计算机中的取值范围如表所示:

数据类型 特征 取值范围

sbyte 有符号 8位整数 在-128到127之间

byte 无符号8位整数 在0到255之间

short 有符号16位整数 在-32768到32767之间

ushort 符号16位整数 在0到65535之间

int 有符号32位整数 在-2147483648到2147483647之间

uint 符号32位整数 0到4294967295之间

long 有符号64位整数 在-9223372036854775808到9223372036854775807之间

ulong 无符号64位整数 0和18446744073709551615之间

using System;

class Test

{

public static void Main(){

short x=32766;

x++;

Console.WriteLine(x);

x++;

Console.WriteLine(x);

}

}程序的输出为:

32767

-32768

上面的例子说明对于short类型的整数x已经超出了系统定义的范围(从-32768到32767之间)。