数据类型

数据类型

此条目已列出参考文献,但因为没有文内引注而使来源仍然不明。 (2019年8月24日)请加上合适的文内引注来改善这篇条目。

在程序设计的类型系统中,数据类型(英语:Data type),又称资料型态、资料型别,是用来约束数据的解释。在编程语言中,常见的数据类型包括原始类型(如:整数、浮点数或字符)、多元组、记录单元、代数数据类型、抽象数据类型、参考类型、类以及函数类型。数据类型描述了数值的表示法、解释和结构,并以算法操作,或是对象在存储器中的存储区,或者其它存储设备。

目录

1 机器中的数据类型

2 原始数据类型

3 复合类型

4 数值范围

5 数据结构

6 抽象类型

7 注释

8 参考文献

9 参见

机器中的数据类型

编辑

所有在电脑中,基于数字电子学的底层资料,都是以比特(0 或 1)表示。其中资料的最小的寻址单位,称为字节(通常是八比特,以八个比特为一组)。机器代码指令处理的单位,称作字长(至 2007 年止,一般为 32 或 64 比特)大部分对字长的指令解译,主要以二进制为主,如一个 32 比特的字长,可以表示从 0 至

2

32

1

{\displaystyle 2^{32}-1}

的无符号整数值,或者表示从

2

31

{\displaystyle -2^{31}}

2

31

1

{\displaystyle 2^{31}-1}

的有符号整数值。由于有了二的补码,机器语言和机器大多不需要区分无符号和有符号数据类型。存在着特殊的算术指令,对字长中的比特使用不同的解释,以此作为浮点数。

原始数据类型

编辑

主条目:原始类型

编程语言提供若干原始数据类型,以作为程序以及专用化复合类型的建立基础。典型的原始数据类型包含各种整数、浮点数以及字符串类型。尽管这些建立基础:数组、记录单元以及参考所联系的资料,可能未包括在基本类型,但仍可将其视为若干原始值的聚集。

复合类型

编辑

主条目:复合类型

这部分可包括以下内容(最终仍取决于编程语言):

RECORD

一组变量类型,例子:数据库表格中的一行

TABLE

数据库中的索引字段

NESTED TABLE

任意的单一复合类型的一维数组

VARRAY

同一类型变量、且固定大小的收集处

数值范围

编辑

每一个数据类型都有一个数值上的最大和最小值,称作数值范围。了解数值的范围是很重要的,尤其是当使用较小的类型时,你就只能存储范围之内的数值。试图存储一个超出其范围的数值,可能会导致编译或执行错误,或者不正确的计算结果(因为被截断)。

一个变量的范围,是基于用以保存数值的字节数目,而且整数数据类型通常[注 1]能够存储

2

n

{\displaystyle 2^{n}}

数值(此处的

n

{\displaystyle n}

是指比特)。对于其它的数据类型(例如,浮点数),其数值范围更为复杂,且几乎取决于所使用的存储方法。还有一些不用完全部的比特,例如,布尔只需一个比特,且表示一个二进制值(虽然在实践中,通常会用完剩余的 7 个比特)。某些编程语言[注 2]也允许反向决定,程序设计者定义解决问题所需的范围和精度,然后由编译器自动选择合适的整数或浮点数。

下表列出常见的数据类型,及其数值范围:[注 3]

数据类型

大小

范围

整数类型

布尔型(Boolean)

1 bit

0 至 1

字节(Byte)

8 bit

0 至 255

字(Word)

2 字节

0 至 65535

双字(Double Word)

4 字节,32bit

0 至 4,294,967,295

整数(Integer)

4 字节,32bit

–2,147,483,648 至 2,147,483,647

长整数(Long Integer)

8 字节,64bit

–9,223,372,036,854,775,808 至 9,223,372,036,854,775,807

浮点数类型

浮点数(Float)

4 字节

1E-37 至 1E+37 (6 个小数字数)

双精度浮点数(Double Float)

8 字节

1E-307 至 1E+308 (15 个小数字数)

数据结构

编辑

主条目:数据结构

抽象类型

编辑

主条目:抽象类型

注释

编辑

^ 有一个情况将一个或多个比特保留作其它用途,例如:奇偶校验。

^ 例如:Ada、Pascal

^ 注意,在平台和语言之间,数据类型的大小可能有所变化。表中列出的数值,是目前所使用且最常见的大小。

参考文献

编辑

Luca Cardelli, Peter Wegner. On Understanding Types, Data Abstraction, and Polymorphism, [1] (页面存档备份,存于互联网档案馆) from Computing Surveys (December, 1985).

参见

编辑

计算机科学主题

类型理论,关于类型的数学模型。

类型系统,关于在编程语言类型中的选择差异。

相关创作

顺产后多久能洗盆浴,顺产后多久可以洗淋浴
365彩票官方下载手机

顺产后多久能洗盆浴,顺产后多久可以洗淋浴

07-14 👁 144
土豆炖排骨
beat365最新版

土豆炖排骨

07-11 👁 9684
手环的功能有哪些?智能手环功能的全面解析与应用
365彩票官方下载手机

手环的功能有哪些?智能手环功能的全面解析与应用

06-28 👁 3732