文章插图
数据类型数据类型在数据结构中的定义是一组性质相同的值的集合以及定义在这个值集合上的一组操作的总称 。
变数是用来存储值的所在处,它们有名字和数据类型 。变数的数据类型决定了如何将代表这些值的位存储到计算机的记忆体中 。在声明变数时也可指定它的数据类型 。所有变数都具有数据类型,以决定能够存储哪种数据 。
数据类型包括原始类型、多元组、记录单元、代数数据类型、抽象数据类型、参考类型以及函式类型 。
基本介绍中文名:数据类型
外文名:data type
定义:值的集合
作用:把数据分成所需记忆体大小的数据
定义计算机中,以位(0 或 1)表示数据 。数据的最小的定址单位称为位元组(通常是八位) 。机器码指令处理的单位,称作字长 。大部分对字长的指令解译,主要以二进制为主,如一个 32 位的字长,可以表示从0至2的32次方减1的无符号整数值,或者表示从负的2的32次方至2的32次方减1的有符号整数值 。存在着特殊的算术指令,对字长中的位使用不同的解释,以此作为浮点数 。数据类型的出现是为了把数据分成所需记忆体大小不同的数据,编程的时候需要用大数据的时候才需要申请大记忆体,就可以充分利用记忆体 。例如大胖子必须睡双人床,就给他双人床,瘦的人单人床就够了 。根据预设规定,如果在声明中没有说明数据类型,则令变数的数据类型为 Variant 。Variant 数据类型很像一条变色龙— 它可在不同场合代表不同数据类型 。当指定变数为 Variant 变数时,不必在数据类型之间进行转换,Visual Basic 会自动完成各种必要的转换 。但是,如果知道变数确实总是存储特定类型的数据,并且还声明了这种特定类型的变数,则 Visual Basic 会以更高的效率处理这个数据 。例如,存储人名的变数最好表示成 String 数据类型,因为名字总是由字元组成 。除变数外,数据类型也用于其它场合 。在给属性赋值时,这个值就有数据类型;函式的参数也有数据类型 。事实上,在 Visual Basic 中,凡是与数据有关的东西就与数据类型有关 。声明变数在使用非 Variant 变数之前,必须使用 Private、Public、Dim 或 Static 语句将变数声明为 As type 。例如,下列语句分别声明了 Integer、Double、String 和 Currency 类型的变数:
PrivateIAsIntegerDimAmtAsDoubleStaticYourNameAsStringPublicBillsPaidAsCurrency一个声明语句可将多个声明组合起来,请看下列语句:
PrivateIAsInteger,AmtAsDoublePrivateYourNameAsString,BillsPaidAsCurrencyPrivateTest,Amount,JAsInteger'注意,在这里Test和Amount是Variant数据类型,只有J是Integer数据类型注意 如果不提供数据类型,则指定变数为预设类型 。如上例中注释已说明,如果由于其它程式语言的经验使人感到同一个声明语句中的所有变数都有相同的指定数据类型(此例中为 Integer),那幺,此处的结果可能会令人感到新鲜 。种类数字型Visual Basic 支持几种 Numeric 数据类型— Integer(整型)、Long(长整型)、Single(单精度浮点型)、Double(双精度浮点型)和 Currency(货币型) 。与 Variant 类型相比,Numeric 类型占用的存储空间通常要少 。如果知道变数总是存放整数(如 12 )而不是带小数点的数字(如 3.57),就应当将它声明为 Integer 类型或 Long 类型 。整数的运算速度较快,而且比其它数据类型占据的记忆体要少 。在 For...Next 循环内作为计数器变数使用时,整数类型尤为有用 。关于控制结构的详细资讯(取值範围,储存空间等),请参阅本词条后面的“数据类型概述” 。如果变数包含小数,则可将它们声明为 Single、Double 或 Currency 变数 。Currency 数据类型支持小数点右面 4 位和小数点左面 15 位;它是一个精确的定点数据类型,适用于货币计算 。浮点(Single 和 Double)数比 Currency 的有效範围大得多,但有可能产生小的进位误差 。浮点数值可表示为 mmmEeee 或 mmmDeee,其中 mmm 是假数,而 eee 是指数(以 10 为底的幂) 。Single 数据类型的最大正数值为 3.402823E+38,或 3.4 乘以 10 的 38 次方;Double 数据类型的最大正数值是 1.79769313486232D+308 或 1.8 乘以 10 的 308 次方 。用 D 将数值文字中的假数部分和指数部分隔开,就会导致将该值作为 Double 数据类型来处理 。同样,用这种方式使用 E,也会导致将该值作为 Single 数据类型来处理 。位元组型如果变数包含二进制数,则将它声明为 Byte 数据类型的数组 。(本章后面的“数组”中将讨论数组) 。在转换格式期间用 Byte 变数存储二进制数据就可保留数据 。当 String 变数在 ANSI 和 Unicode 格式间进行转换时,变数中的任何二进制数据都会遭到破坏 。在下列任何一种情况下,Visual Basic 都会自动在 ANSI 和 Unicode 之间进行转换 。除一元减法外,所有可对整数进行操作的运算符均可操作 Byte 数据类型 。因为 Byte 是从 0 - 255 的无符号类型,所以不能表示负数 。因此,在进行一元减法运算时,Visual Basic 首先将 Byte 转换为符号整数 。所有数值变数都可相互赋值,也可对 Variant 类型变数赋值 。在将浮点数赋予整数之前,Visual Basic要将浮点数的小数部分四捨五入,而不是将小数部分去掉 。文本型如果变数总是包含字元串而从不包含数值,就可将其声明为 String 类型 。PrivateSAsString