C#基本数据类型
数据类型主要用于指明变量和常量存储值的类型,C# 语言是一种强类型语言,要求每个变量都必须指定数据类型。
- 数据类型分类
C#语言的数据类型分为值类型和引用类型
值类型包括:
·整形
·浮点型
·字符型
·布尔型
·枚举型
引用类型包括:
·类
·接口
·数组
·委托
·字符串
- 今天要讲的是整型
整型所谓整型就是存储整数的类型,按照存储值的范围不同,C#语言将整型分成了byte 类型、short 类型、int 类型、long 类型等,并分别定义了有符号数和无符号数
- byte 字节类型
可分为有符号数和无符号数,占用1个字节
sbyte是有符号数,byte是无符号数
这就是有符号数与无符号数的区别,有符号数(sbyte)可以添加符号无符号数,不能添加符号,它的取值只有整数。
上图可以看到有符号数也是可以取整数的
但是为什么sbyte a = 128就会报错,byte b = 128就不会报错。这就要说到它的取值范围了。有符号数的取值范围是从-128到127之间,上面取的是128,所以就会报错。无符号数的取值范围是0到129,这就是为什么sbyte a = 128就会报错,byte b = 128就不会报错的原因了
- Short 短整型
Short短整型也分为有符号数和无符号数,但是它是占了2个字节的
short是有符号数。ushort是无符号数
这就是有符号数与无符号数的区别,有符号数可以添加符号。无符号数不能添加符号,它的取值只有整数。
有符号数的取值范围是从-32768到-32767
无符号数的取值范围是 0到32769
- Int 整型
Int 整型也分为有符号数和无符号数,但是它是占了4个字节的
int是有符号数。uint 是无符号数
这就是有符号数与无符号数的区别,有符号数可以添加符号。无符号数不能添加符号,它的取值只有整数。
有符号数的取值范围是从-2147483648到2147483647
无符号数的取值范围是 0到2147483649
- Long 长整型
Long 长整型也分为有符号数和无符号数,但是它是占了8个字节的,看到他占的字节相对来说是比较大的了
long 是有符号数。ulong是无符号数
这就是有符号数与无符号数的区别,有符号数可以添加符号。无符号数不能添加符号,它的取值只有整数。
有符号数的取值范围是从-9223372036854775808到9223372036854775807
无符号数的取值范围是 0到9223372036854775809
取值范围也是比较广得了,但是我们一般不用他
整型类型的分类、占用内存大小以及最大可表示范围如下所示:
类 型 取值范围
sbyte 有符号数,占用1个字节,-27〜27-1
byte 无符号数,占用1个字节,0〜28-1
short 有符号数,占用2个字节,-215〜215-1
ushort 无符号数,占用2个字节,0〜216-1
int 有符号数,占用4个字节,-231〜231-1
uint 无符号数,占用4个字节,0〜232-1
long 有符号数,占用8个字节,-263〜263-1
ulong 无符号数,占用8个字节,0〜264-1
你知道为什么字节类型的无符号类型的开头要加个s?而其他的类型类型,只在无符号类型前面加u?
因为sbyte中的s字母是取自 signed 单词中的首字母,代表有符号;
ushort,uint,ulong中的u字母是取自 unsigned 单词中的首字母,代表无符号