多字二進制數據

多字二進制數據

在計算機中,機器字長是指CPU進行一次整數運算所能處理的二進制數據的位數(整數運算即定點整數運算)。因為計算機中數的表示有定點數和浮點數之分,定點數又有定點整數和定點小數之分,這裡所說的整數運算即定點整數運算。多字二進制數據是指一般不少於3個機器字的二進制數據。

基本介紹

  • 中文名:多字二進制數據
  • 外文名:Multiword Binary Data 
  • 學科:計算機科學
  • 定義:不少於3個機器字的二進制數據。
  • 有關術語:多位元組二進制數據、字
  • 領域:計算機原理、數據處理
簡介,二進制,字,字的使用,字長的選擇,GBase 8t支持的數據類型,

簡介

在計算機中,機器字長是指CPU進行一次整數運算所能處理的二進制數據的位數(整數運算即定點整數運算)。多字二進制數據是指一般不少於3個機器字的二進制數據。例如計算機進行雙精度浮點數運算時,雙精度浮點數一般都是多字數據,所以CPU處理的是多字二進制數據,CPU要多次處理才能運算完一個雙精度浮點數運算。在圖像、音頻等領域進行數據處理會經常出現。
多位元組二進制數據是指一般不少於3個位元組的二進制數據。位元組(Byte /bait/ n. [C])是計算機信息技術用於計量存儲容量的一種計量單位,也表示一些計算機程式語言中的數據類型和語言字元。字通常通常分為若干個位元組(每個位元組一般是8位)。多字二進制數據與多位元組二進制數據一般是不相同,若且唯若字長和位元組相等。
數據類型在數據結構中的定義是一個值的集合以及定義在這個值集上的一組操作。
變數是用來存儲值的所在處,它們有名字和數據類型。變數的數據類型決定了如何將代表這些值的位存儲到計算機的記憶體中。在聲明變數時也可指定它的數據類型。所有變數都具有數據類型,以決定能夠存儲哪種數據。
數據類型包括原始類型、多元組、記錄單元、代數數據類型、抽象數據類型、參考類型以及函式類型。

二進制

在數學和數字電路中,二進制(binary)數是指用二進制記數系統,即以2為基數的記數系統表示的數字。這一系統中,數通常用兩個不同的符號0(代表零)和1(代表一)來表示。以2為基數代表系統是二進位制的。數字電子電路中,邏輯門的實現直接套用了二進制,因此現代的計算機和依賴計算機的設備里都用到二進制。每個數字稱為一個位元(二進制位)或比特(Bit,Binary digit的縮寫)。
現代的二進制記數系統由戈特弗里德·萊布尼茨於1679年設計,在他1703年發表的文章《論只使用符號0和1的二進制算術,兼論其用途及它賦予伏羲所使用的古老圖形的意義》(法語:Explication de l'arithmétique binaire, qui se sert des seuls caractères 0 et 1 avec des remarques sur son utilité et sur ce qu'elle donne le sens des anciennes figures chinoises de Fohy)出現。與二進制數相關的系統在一些更早的文化中也有出現,包括古埃及、古代中國和古印度。中國的《易經》尤其引起了萊布尼茨的聯想。
計算機中的十進制小數轉換二進制
計算機中的十進制小數用二進制通常是用乘二取整法來獲得的。
比如0.65換算成二進制就是:
0.65 × 2 = 1.3 取1,留下0.3繼續乘二取整
0.3 × 2 = 0.6 取0, 留下0.6繼續乘二取整
0.6 × 2 = 1.2 取1,留下0.2繼續乘二取整
0.2 × 2 = 0.4 取0, 留下0.4繼續乘二取整
0.4 × 2 = 0.8 取0, 留下0.8繼續乘二取整
0.8 × 2 = 1.6 取1, 留下0.6繼續乘二取整
0.6 × 2 = 1.2 取1,留下0.2繼續乘二取整
.......
一直循環,直到達到精度限制才停止(所以,計算機保存的小數一般會有誤差,所以在編程中,要想比較兩個小數是否相等,只能比較某個精度範圍內是否相等。)。這時,十進制的0.65,用二進制就可以表示為:01010011。

在計算機領域, 對於某種特定的計算機設計而言,字是用於表示其自然的數據單位的術語。
機器字長是指CPU進行一次整數運算所能處理的二進制數據的位數(整數運算即定點整數運算)。字長在計算機結構和操作的多個方面均有體現。計算機中大多數暫存器的尺寸是一個字長。電腦處理的典型數值也可能是以字長為單位。CPU和記憶體之間的數據傳送單位也通常是一個字長。還有而記憶體中用於指明一個存儲位置的地址也經常是以字長為單位的。
現代計算機的字長通常為16、32、64位。其他曾經使用過的字長有:8、9、12、18、24、36、39、40、48、60位;slab是早期的另一個字長實例。某些最早期的計算機是十進制的而不是二進制的,通常擁有10位或者12位的十進制數字作為字長,還有一些早期的計算機根本就沒有固定字長。

字的使用

根據計算機的組織情況,字長單位可能被套用到:
整數–計算機處理的整數值通常可以有若干種不同的長度,但是其中總有一種正好是該構架的字長。如果有的話,其他的整數長度很可能是字長的倍數或分數。小尺寸的整數尺寸通常是為了提高存儲效率;當它被載入處理器時,它經常被轉換成字長尺寸的形式。
浮點數–計算機處理的浮點數通常是一個字長或字長的倍數。
地址–計算機處理的存儲器地址必須有足夠的尺寸,以便可以表示需要的數值範圍,但是又不能過大。經常使用的尺寸是字,不過也可以是字的倍數或分數。
暫存器– 處理器暫存器根據它要處理的數據類型被設計成適當的尺寸,例如:整數、浮點數、地址。許多計算機構架使用“通用”暫存器,它們可以存儲任何類型的數據,可以允許存儲哪怕是最大的數據類型。它們的尺寸通常是其構架的字長。
存儲器-處理器傳送–當處理器從存儲器子系統讀取數據至暫存器,或者,寫暫存器數據到存儲器,傳送的數據通常是字。在簡單的存儲系統中,字在數據匯流排上傳送,它一般為一個字或半個字。在使用快取的存儲系統,在處理器和一級快取之間傳送的是一個字長,而在更低級的存儲層次上傳送的可能是更大的尺寸(這尺寸是字的倍數)。
編址單位–在一個給定的構架中,連續的地址值對應連續的存儲器單位;該單位就是編址單位。在大部分計算機中,這個單位或者是一個字元(例如:位元組)或者是一個字(少部分計算機也使用位(bit)編址單位)。如果單位是字,那么用指定長度的地址就可以訪問較大數量的存儲空間。另一方面,如果單位是位元組,那么就可以訪問單個的字元(i.e. selected during the memory operation)。
指令– 機器指令通常是字長的分數或倍數。因為指令和數據經常共享同一個存儲子系統,所以自然作出這樣的選擇。而在哈佛架構(Harvard architecture)中,指令和數據的長度並不需要有關聯。

字長的選擇

在設計計算機時,字長的選擇是非常重要的。設計上的考慮傾向於為特定的用途(如地址)設定特定的位長。然而,出於經濟的考慮,又應該僅使用一種尺寸,或者很少的幾種與基本尺寸成倍數或分數(約數)關係的尺寸。這個首選的基本尺寸就成為該構架的字長。
字元的尺寸對於字長的選擇也有影響。20世紀60年代中期以前,字元大部分以6位存儲;這樣最多允許64個字元,因此不能又大寫字元。由於將字長定義成字元尺寸的倍數在處理時間和存儲空間上都比較划算,所以這個時期字長也就被定義為6位(在二進制機器上)的倍數。通常的選擇是36位字長,這也是適合於浮點數格式的一個長度。
隨著IBM360系統的引入——該系統使用8位字元,並支持大小寫字母——標準的字元(確切地說:位元組)尺寸也轉變成為8位。從那以後,字長也自然變成了8的倍數,16、32、64位字長被廣泛使用。

GBase 8t支持的數據類型

BIGINT 數據類型
BIGINT 數據類型存儲從 -(263 -1) 到 263 -1,即 –9,223,372,036,854,775,807 到 9,223,372,036,854,775,807 的 8 個位元組的整數值。
BIGSERIAL 數據類型
BIGSERIAL 數據類型存儲 BIGINT 數據類型的順序整數(在插入新行時由資料庫伺服器自動指定)。BIGSERIAL 數據類型的行為與 SERIAL 數據類型相似,但範圍更大。
BLOB 數據類型
BLOB 數據類型以隨機存取塊(稱為智慧型大對象空間)的形式存儲任何種類的二進制數據。二進制數據通常由已保存的電子表格、程式裝入模組和數位化聲音模式等等組成。資料庫伺服器不會對 BLOB 列的內容進行解釋。
BOOLEAN 數據類型
BOOLEAN 數據類型將 TRUE 或 FALSE 數據值作為單位元組存儲。
BYTE 數據類型
BYTE 數據類型以無差別位元組流的形式存儲任何種類的二進制數據。二進制數據通常由數位化的信息(如,電子表格、程式裝入模組和數位化聲音模式等等)組成。
CHAR(n) 數據類型
CHAR 數據類型存儲任何字母、數字和符號組成的字元串。它可以根據資料庫語言環境存儲單位元組和多位元組字元。
CHARACTER(n) 數據類型
CHARACTER 數據類型是 CHAR 的同義詞。
CHARACTER VARYING(m,r) 數據類型
CHARACTER VARYING 數據類型存儲字母、數字和可變長度的符號組成的字元串,其中 m 是列的最大大小(以位元組計),而 r 是為該列保留的最小位元組數。
CLOB 數據類型
CLOB 數據類型以隨機存取塊(稱為智慧型大對象空間)的形式存儲任何種類的文本數據。如果此信息也是文本的(例如,PostScript™、“超文本標記語言”(HTML)、“標準圖形標記語言”(SGML) 或“可擴展標記語言”(XML) 數據),那么文本數據可包括文本格式的信息。
DATE 數據類型
DATE 數據類型存儲日曆日期。DATE 數據類型需要四個位元組。日曆日期在內部存儲為等於自 1899 年 12 月 31 日以來的天數的整數值。
DATETIME 數據類型
DATETIME 數據類型會存儲以日曆日期和一天中的時間表示的瞬間時刻。
DEC 數據類型
DEC 數據類型與 DECIMAL 同義。
DECIMAL
DECIMAL 數據類型可採用兩種格式:DECIMAL (p) 浮點和 DECIMAL (p,s) 定點。
DISTINCT 數據類型
DISTINCT 類型是從源類型(稱為基本類型)派生的數據類型。
DOUBLE PRECISION 數據類型
DOUBLE PRECISION 關鍵字是 FLOAT 關鍵字的同義詞。
FLOAT(n)
IDSSECURITYLABEL 數據類型
IDSSECURITYLABEL 類型將安全標號存儲在受基於標號的訪問控制 (LBAC) 安全策略保護的表中。
INT 數據類型
INT 數據類型與 INTEGER 同義。
INT8
INT8 數據類型存儲從值為範圍 –9,223,372,036,854,775,807 到 9,223,372,036,854,775,807 [或 -(263-1) 到 263-1] 的整數(18 或 19 位精度)。
INTEGER 數據類型
INTEGER 數據類型對 9 或 10 位精度存儲範圍為 -2,147,483,647 到 2,147,483,647 的整數。
INTERVAL 數據類型
INTERVAL 數據類型存儲表示時間範圍的值。INTERVAL 類型分為兩類:year-month 時間間隔和 day-time 時間間隔。
LIST(e) 數據類型
LIST 數據類型是可存儲相同 SQL 數據類型的有序非 NULL 元素的集合類型。
LVARCHAR(m) 數據類型
使用 LVARCHAR 數據類型來創建用於存儲可變長度字元串(其上限 (m) 最多可為 32,739 個位元組)的列。
MONEY(p,s) 數據類型
MONEY 數據類型存儲貨幣金額。
MULTISET(e) 數據類型
MULTISET 數據類型是存儲無序集的集合類型,它能包含重複的元素值。
命名 ROW
NCHAR(n) 數據類型
NCHAR 數據類型存儲固定長度字元數據。該數據可以是單位元組或多位元組字母、數字和受資料庫語言環境的代碼集支持的其他符號組成的字元串。
NUMERIC(p,s) 數據類型
NUMERIC 數據類型與定點 DECIMAL 同義。
NVARCHAR(m,r) 數據類型
NVARCHAR 數據類型存儲可變長度字元串。字元串可以包括數字、符號以及單位元組和(在某些語言環境中)多位元組字元。
OPAQUE 數據類型
OPAQUE 類型是必須為其向資料庫伺服器提供信息的數據類型。
REAL 數據類型
REAL 數據類型與 SMALLFLOAT 同義。
ROW 數據類型,已命名
命名的 ROW 數據類型必須使用名稱進行聲明。此 SQL 標識在同一個資料庫內的數據類型名稱中必須唯一。
ROW 數據類型,未命名
未命名 ROW 類型包含欄位,但沒有任何用戶聲明的名稱。未命名 ROW 類型通過其結構來定義。
SERIAL(n) 數據類型
SERIAL 數據類型存儲 INT 數據類型的順序整數(在插入新行時由資料庫伺服器自動指定)。
SERIAL8(n) 數據類型
SERIAL8 數據類型存儲 INT8 數據類型的順序整數(在插入新行時由資料庫伺服器自動指定)。
SET(e) 數據類型
SET 數據類型是存儲唯一元素的無序集合類型
SMALLFLOAT
SMALLFLOAT 數據類型會存儲具有大約九個有效數字的單精度浮點數。
SMALLINT 數據類型
SMALLINT 數據類型存儲範圍在 –32,767 到 32,767 的小整數。最大負數 –32,768 是保留值,不能使用。
TEXT 數據類型
TEXT 數據類型存儲所有類型的文本數據。它可以同時包含語言環境支持的單位元組字元和多位元組字元。術語簡單大對象指的是 TEXT 和 BYTE 數據類型。
未命名 ROW
VARCHAR(m,r) 數據類型
VARCHAR 數據類型存儲包含單位元組和(如果語言環境支持)多位元組字元的可變長度字元串,其中 m 是列的最大大小(以位元組計),r 是為該列保留的最小位元組數。

熱門詞條

聯絡我們