
資料類型
- 世界杯冠军奖金
- 2025-08-02 13:42:24
- 2283
此條目已列出參考文獻,但因為沒有文內引註而使來源仍然不明。 (2019年8月24日)请加上合适的文內引註来改善这篇条目。
在程式設計的型別系統中,数据类型(英語:Data type),又稱資料型態、資料型別,是用來約束数据的解釋。在程式語言中,常見的数据类型包括原始类型(如:整數、浮點數或字元)、多元組、記錄單元、代數資料類型、抽象数据类型、參考型別、类以及函式型別。資料類型描述了數值的表示法、解釋和結構,並以演算法操作,或是物件在記憶體中的儲存區,或者其它儲存裝置。
機器中的資料類型[编辑]
所有在電腦中,基於數位電子學的底層資料,都是以位元(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).
参见[编辑]
计算机科学主题
类型理論,關於类型的數學模型。
型別系統,關於在程式語言型別中的選擇差異。
查论编数据类型无解释的
位元
字节
三进制位
三进制字节
字
数值
整数
符号性
有符号数
无符号数
定点数
浮点数
双精度
扩展精度(英语:Extended precision)
半精度
迷你浮点数
八精度
四精度
单精度
有理数
复数
任意精度算术
区间(英语:interval arithmetic)
文本
字符
字符串
指针
記憶體位址
物理地址
虚拟地址
參照
组合
代数数据类型
广义(英语:generalized algebraic data type)
数组
关联数组
类
串列
对象
元对象
可选类型
积类型(英语:Product type)
记录
集合
元组
联合体
标签
其他
布尔型
底层类别(英语:Bottom type)
容器
枚举类型
异常
头等函数
不透明数据类型(英语:Opaque data type)
递归数据类型
信号标
字串流
顶类型(英语:Top type)
类型类
類型系統
单位类型(英语:Unit type)
Void
不定型別
相关议题
抽象資料型別
数据结构
介面
种类(英语:Kind (type theory))
元类
对象类型(英语:Boxing (computer programming))
原始型別与複合型別
协议
子类型
C++模板
型別構造器
参数多态
查论编数据
数据增强
数据分析
Data Archaeology(英语:Data archaeology)
大數據
数据清洗
資料收集(英语:Data collection)
数据集
数据压缩
数据转换
数据损坏
Curation(英语:Data curation)
Degradation(英语:Data degradation)
Editing(英语:Data editing)
ETL
数据抽取(英语:Data extraction)
数据变换(英语:Data transformation)
数据装载(英语:Data loading)
Farming(英语:Data farming)
Format management(英语:Data format management)
Fusion(英语:Data fusion)
数据集成
数据完整性
数据注释(英语:Data annotation)
Library(英语:Data library)
数据损失(英语:Data loss)
数据管理
数据脱敏
数据迁移
元数据
数据挖掘
数据模型
开放数据
Datapoint(英语:Data point)
数据预处理(英语:Data pre-processing)
Preservation(英语:Data preservation)
信息隐私(英语:information privacy)
数据出版(英语:Data publishing)
数据质量(英语:Data quality)
数据恢复
数据精简(英语:Data reduction)
数据保持(英语:Data retention)
数据科学
Scraping(英语:Data scraping)
Scrubbing(英语:Data scrubbing)
數據安全
数据泄露
数据共享(英语:Data sharing)
Stewardship(英语:Data steward)
数据储存(英语:Data storage)
儲存裝置
数据结构
數據同步
数据确认
数据验证(英语:Data verification)
数据仓库
Wrangling/munging(英语:Data wrangling)
模板
数据模型
开放数据
数据储存
数据类型
数据结构
数据仓库
规范控制数据库:各地
德国
以色列
美国
拉脱维亚
捷克
