資料類型

資料類型

此條目已列出參考文獻,但因為沒有文內引註而使來源仍然不明。 (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-29 👀 1754
私心推薦!5款常見好用的VST Plugin!
亚洲28365

私心推薦!5款常見好用的VST Plugin!

📅 08-02 👀 7511
有钱真好!瓜帅回应渣叔批评世俱杯言论:一些抱怨来自未参赛