數(shù)據(jù)格式,計(jì)算機(jī)中數(shù)據(jù)格式詳細(xì)介紹
數(shù)據(jù)格式,計(jì)算機(jī)中數(shù)據(jù)格式詳細(xì)介紹
計(jì)算機(jī)中常用的數(shù)據(jù)表示格式有兩種,一是定點(diǎn)格式,二是浮點(diǎn)格式。一般來說,定點(diǎn)格式容許的數(shù)值范圍有限,但要求的處理硬件比較簡單。而浮點(diǎn)格式容許的數(shù)值范圍很大,但要求的處理硬件比較復(fù)雜。
1.定點(diǎn)數(shù)的表示方法
定點(diǎn)表示:約定機(jī)器中所有數(shù)據(jù)的小數(shù)點(diǎn)位置是固定不變的。由于約定在固定的位置,小數(shù)點(diǎn)就不再使用記號(hào)“.”來表示。通常將數(shù)據(jù)表示成純小數(shù)或純整數(shù)。
定點(diǎn)數(shù)x=x0x1x2…xn 在定點(diǎn)機(jī)中表示如下(x0:符號(hào)位,0代表正號(hào),1代表負(fù)號(hào)):
?
純小數(shù)的表示范圍為(x0x1x2…xn 各位均為0時(shí)最小;各位均為1時(shí)最大)
0≤|x|≤1-2-n (2.1)
純整數(shù)的表示范圍為
0≤|x|≤2n-1 ? (2.2)
目前計(jì)算機(jī)中多采用定點(diǎn)純整數(shù)表示,因此將定點(diǎn)數(shù)表示的運(yùn)算簡稱為整數(shù)運(yùn)算。
2.浮點(diǎn)數(shù)的表示方法
電子的質(zhì)量(9×10-28克)和太陽的質(zhì)量(2×1033克)相差甚遠(yuǎn),在定點(diǎn)計(jì)算機(jī)中無法直接來表示這個(gè)數(shù)值范圍.要使它們送入定點(diǎn)計(jì)算機(jī)進(jìn)行某種運(yùn)算,必須對(duì)它們分別取不同的比例因子,使其數(shù)值部分絕對(duì)值小于1,即:
9×10-28=0.9×10-27
2×1033=0.2×1034
這里的比例因子10-27 和1034要分別存放在機(jī)器的某個(gè)存儲(chǔ)單元中,以便以后對(duì)計(jì)算結(jié)果按這個(gè)比例增大。顯然這要占用一定的存儲(chǔ)空間和運(yùn)算時(shí)間。因此得到浮點(diǎn)表示法如下:
浮點(diǎn)表示法:把一個(gè)數(shù)的有效數(shù)字和數(shù)的范圍在計(jì)算機(jī)的一個(gè)存儲(chǔ)單元中分別予以表示,這種把數(shù)的范圍和精度分別表示的方法,數(shù)的小數(shù)點(diǎn)位置隨比例因子的不同而在一定范圍內(nèi)自由浮動(dòng)。
任意一個(gè)十進(jìn)制數(shù)N可以寫成:
N = 10E.M (2.3)
同樣,在計(jì)算機(jī)中一個(gè)任意進(jìn)制數(shù)N可以寫成
N=Re.M ? (2.4)
M:尾數(shù),是一個(gè)純小數(shù)。
e:比例因子的指數(shù),稱為浮點(diǎn)數(shù)的指數(shù),是一個(gè)整數(shù)。
R:比例因子的基數(shù),對(duì)于二進(jìn)計(jì)數(shù)值的機(jī)器是一個(gè)常數(shù),一般規(guī)定R為2,8或16。
一個(gè)機(jī)器浮點(diǎn)數(shù)由階碼和尾數(shù)及其符號(hào)位組成(尾數(shù):用定點(diǎn)小數(shù)表示,給出有效數(shù)字的位數(shù)決定了浮點(diǎn)數(shù)的表示精度;階碼:用整數(shù)形式表示,指明小數(shù)點(diǎn)在數(shù)據(jù)中的位置,決定了浮點(diǎn)數(shù)的表示范圍。):
為便于軟件移植,按照 IEEE754 標(biāo)準(zhǔn),32位浮點(diǎn)數(shù)和64位浮點(diǎn)數(shù)的標(biāo)準(zhǔn)格式為:
32位的浮點(diǎn)數(shù)中,S:浮點(diǎn)數(shù)的符號(hào)位,1 位,0表示正數(shù),1表示負(fù)數(shù)。M:尾數(shù),23位,用小數(shù)表示,小數(shù)點(diǎn)放在尾數(shù)域的最前面。E:階碼(8位),階符采用隱含方式,即采用移碼方式來表示正負(fù)指數(shù)。移碼方法對(duì)兩個(gè)指數(shù)大小的比較和對(duì)階操作都比較方便,因?yàn)殡A碼域值大者其指數(shù)值也大。采用這種方式時(shí),將浮點(diǎn)數(shù)的指數(shù)真值e 變成階碼E時(shí),應(yīng)將指數(shù)e加上一個(gè)固定的偏移值127(01111111),即E=e+127。
IEEE754 標(biāo)準(zhǔn)中,一個(gè)規(guī)格化的32位浮點(diǎn)數(shù)x的真值可表示為
x=(-1)s×(1.M)×2E-127 e=E-127 (2.5)
一個(gè)規(guī)格化的64位浮點(diǎn)數(shù)x的真值為
x=(-1)s×(1.M)×2E-1023 e=E-1023 ?(2.6)
同一個(gè)浮點(diǎn)數(shù)的表示方法不是唯一的,如:
(1.75)10=1.11×20???????????(IEEE規(guī)格化表示)
=0.111×21??????????????????(傳統(tǒng)規(guī)格化表示)
=0.0111×22
=0.00111×23
為提高數(shù)據(jù)的表示精度,當(dāng)尾數(shù)的值不為 0 時(shí),尾數(shù)域的最高有效位應(yīng)為1,否則以修改階碼同時(shí)左右移小數(shù)點(diǎn)的辦法,使其變成這一表示形式,這稱為浮點(diǎn)數(shù)的規(guī)格化表示。
當(dāng)浮點(diǎn)數(shù)的尾數(shù)為0,不論其階碼為何值,或者當(dāng)階碼的值遇到比它能表示的最小值還小時(shí),不管其尾數(shù)為何值,計(jì)算機(jī)都把該浮點(diǎn)數(shù)看成零值,稱為機(jī)器零。
當(dāng)階碼E 為全0且尾數(shù)M也為全0時(shí),表示的真值x為零,結(jié)合符號(hào)位S為0或1,有正零和負(fù)零之分。當(dāng)階碼E 為全1且尾數(shù)M 為全0時(shí),表示的真值x 為無窮大,結(jié)合符號(hào)位S為0或1,也有+∞和-∞之分。這樣在32位浮點(diǎn)數(shù)表示中,要除去E 用全0和全1(255)10表示零和無窮大的特殊情況,指數(shù)的偏移值不選128(10000000),而選127(01111111)。對(duì)于規(guī)格化浮點(diǎn)數(shù),E的范圍變?yōu)?到254,真正的指數(shù)值e 則為-126到+127。因此32位浮點(diǎn)數(shù)表示的絕對(duì)值的范圍是10-38~1038(以10的冪表示)。
浮點(diǎn)數(shù)所表示的范圍遠(yuǎn)比定點(diǎn)數(shù)大。一臺(tái)計(jì)算機(jī)中究竟采用定點(diǎn)表示還是浮點(diǎn)表示,要根據(jù)計(jì)算機(jī)的使用條件來確定。一般在高檔微機(jī)以上的計(jì)算機(jī)中同時(shí)采用定點(diǎn)、浮點(diǎn)表示,由使用者進(jìn)行選擇,而單片機(jī)中多采用定點(diǎn)表示。
[例1] 若浮點(diǎn)數(shù)x的754標(biāo)準(zhǔn)存儲(chǔ)格式為(41360000)16,求其浮點(diǎn)數(shù)的十進(jìn)制數(shù)值。
[解:]
將十六進(jìn)制數(shù)展開后,可得二進(jìn)制數(shù)格式為
指數(shù)e=階碼-127=10000010-01111111=00000011=(3)10
包括隱藏位1的尾數(shù)1.M=1.011 0110 0000 0000 0000 0000=1.011011于是有:
x=(-1)s×1.M×2e
=+(1.011011)×23=+1011.011=(11.375)10
[例2] 將(20.59375)10轉(zhuǎn)換成754標(biāo)準(zhǔn)的32位浮點(diǎn)數(shù)的二進(jìn)制存儲(chǔ)格式。
[解:]
首先分別將整數(shù)和分?jǐn)?shù)部分轉(zhuǎn)換成二進(jìn)制數(shù):
20.59375=10100.10011
然后移動(dòng)小數(shù)點(diǎn),使其在第1,2位之間
10100.10011=1.010010011×24 e=4
于是得到:
S=0, E=4+127=131, M=010010011
最后得到32位浮點(diǎn)數(shù)的二進(jìn)制存儲(chǔ)格式為:
0100 0001 1010 0100 1100 0000 0000 0000=(41A4C000)16
3.十進(jìn)制數(shù)串的表示方法
目前,大多數(shù)通用性較強(qiáng)的計(jì)算機(jī)都能直接處理十進(jìn)制形式表示的數(shù)據(jù)。十進(jìn)制數(shù)串在計(jì)算機(jī)內(nèi)主要有兩種表示形式:
(1)字符串形式
字符串形式:一個(gè)字節(jié)存放一個(gè)十進(jìn)制的數(shù)位或符號(hào)位。為了指明這樣一個(gè)數(shù),需要給出該數(shù)在主存中的起始地址和位數(shù)(串的長度)。
(2)壓縮的十進(jìn)制數(shù)串形式
壓縮的十進(jìn)制數(shù)串形式:一個(gè)字節(jié)存放兩個(gè)十進(jìn)制的數(shù)位。它比前一種形式節(jié)省存儲(chǔ)空間,又便于直接完成十進(jìn)制數(shù)的算術(shù)運(yùn)算,是廣泛采用的較為理想的方法。
用壓縮的十進(jìn)制數(shù)串表示一個(gè)數(shù),也要占用主存連續(xù)的多個(gè)字節(jié)。每個(gè)數(shù)位占用半個(gè)字節(jié)(即4個(gè)二進(jìn)制位),其值可用二-十編碼(BCD碼)或數(shù)字符的ASCII碼的低4位表示。符號(hào)位也占半個(gè)字節(jié)并放在最低數(shù)字位之后,其值選用四位編碼中的六種冗余狀態(tài)中的有關(guān)值,如用12(c)表示正號(hào),用13(d)表示負(fù)號(hào)。
在上述表示中,每一個(gè)小框內(nèi)給出一個(gè)數(shù)值位或符號(hào)位的編碼值(用十六進(jìn)制形式給出),符號(hào)位在數(shù)字位之后。 前兩個(gè)小框占一個(gè)字節(jié),后兩個(gè)小框占一個(gè)字節(jié)。
與第一種表示形式類似,要指明一個(gè)壓縮的十進(jìn)制數(shù)串,也得給出它在主存中的首地址和數(shù)字位個(gè)數(shù)(不含符號(hào)位),又稱位長,位長為0的數(shù)其值為0。十進(jìn)制數(shù)串表示法的優(yōu)點(diǎn)是位長可變,許多機(jī)器中規(guī)定該長度從0到31,有的甚至更長。
4.自定義數(shù)據(jù)表示
在傳統(tǒng)的計(jì)算機(jī)體系結(jié)構(gòu)中,用指令本身來說明操作數(shù)據(jù)的類型。如定點(diǎn)加法表示操作數(shù)是純小數(shù)或純整數(shù);浮點(diǎn)加法表示操作數(shù)是浮點(diǎn)數(shù);十進(jìn)制加法表示操作數(shù)是BCD數(shù)。由于操作數(shù)據(jù)類型不同,要設(shè)三種不同的指令(操作碼)來加以區(qū)分。
自定義數(shù)據(jù)表示則用數(shù)據(jù)本身來說明數(shù)據(jù)類型。表示形式有兩種,即標(biāo)志符數(shù)據(jù)表示和描述符數(shù)據(jù)表示。
標(biāo)志符數(shù)據(jù)表示要求對(duì)每一個(gè)數(shù)據(jù)都附加標(biāo)志符,其格式如下:
其中標(biāo)志符指明后面的數(shù)據(jù)所具有的類型,如整數(shù)、浮點(diǎn)數(shù)、BCD數(shù)、字符串等。
標(biāo)志符數(shù)據(jù)表示的優(yōu)點(diǎn)是能簡化指令系統(tǒng),便于程序調(diào)試和查錯(cuò),缺點(diǎn)是數(shù)據(jù)區(qū)域占用的存儲(chǔ)空間增加,并使指令執(zhí)行的速度減慢。
描述符數(shù)據(jù)表示主要用來描述多維結(jié)構(gòu)的數(shù)據(jù)類型,如向量、矩陣、記錄等。其格式為:
描述符標(biāo)志位部分指明這是一個(gè)數(shù)據(jù)描述符;特征標(biāo)記部分指明數(shù)據(jù)的各種特征;長度部分指明數(shù)組中元素個(gè)數(shù);起始地址部分指明數(shù)據(jù)塊的首地址。
標(biāo)志符與描述符表示的區(qū)別是:
(1)標(biāo)志符與每個(gè)數(shù)據(jù)相連,二者合起來存放在一個(gè)存儲(chǔ)單元,而描述符要和數(shù)據(jù)分開存放。
(2)描述符表示中,先訪問描述符,后訪問數(shù)據(jù),至少增加一次訪存。
(3)描述符是程序的一部分,而不是數(shù)據(jù)的一部分。
非常好我支持^.^
(0) 0%
不好我反對(duì)
(0) 0%
相關(guān)閱讀:
- [電子說] 集特嵌入式工業(yè)BOX整機(jī)推薦—G102 2024-12-06
- [電子說] 智能密集架控制系統(tǒng)與傳統(tǒng)系統(tǒng)對(duì)比 2024-12-06
- [電子說] 提高示波器使用效率的小技巧 2024-12-06
- [電子說] 中國“雙法”研究會(huì)-玻色量子基金揭榜掛帥項(xiàng)目結(jié)果公布 2024-12-05
- [電子說] NVIDIA打造Earth-2 NIM微服務(wù)以洞見未來 2024-12-05
- [電子說] NVIDI助力打造3D遠(yuǎn)程監(jiān)控解決方案 2024-12-05
- [電子說] 馬斯克xAI計(jì)劃:孟菲斯超算集群將擴(kuò)大十倍 2024-12-05
- [電子說] 什么是工控機(jī)?相對(duì)于商業(yè)電腦有哪些優(yōu)勢(shì) 2024-12-04
( 發(fā)表人:admin )