• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      數(shù)據(jù)在計算機(jī)內(nèi)存中的存儲形式及實驗驗證

      2016-02-11 06:37:46吳艷婷方賢進(jìn)
      關(guān)鍵詞:存儲單元簡體中文字符

      吳艷婷,方賢進(jìn)

      (安徽理工大學(xué)計算機(jī)科學(xué)與工程學(xué)院,安徽淮南232001)

      數(shù)據(jù)在計算機(jī)內(nèi)存中的存儲形式及實驗驗證

      吳艷婷,方賢進(jìn)

      (安徽理工大學(xué)計算機(jī)科學(xué)與工程學(xué)院,安徽淮南232001)

      現(xiàn)實世界中的任何數(shù)據(jù),包括數(shù)值型數(shù)據(jù)、非數(shù)值型數(shù)據(jù),在計算機(jī)內(nèi)存中的存儲與處理都是以二進(jìn)制形式進(jìn)行的。弄清楚各種類型數(shù)據(jù)在計算機(jī)內(nèi)的存儲與處理形式,對計算機(jī)專業(yè)學(xué)生了解計算機(jī)系統(tǒng)底層的工作原理和數(shù)據(jù)處理機(jī)制具有重要的意義。本文設(shè)計了幾個實驗對數(shù)值型數(shù)據(jù),(包括正、負(fù)整數(shù),浮點型與雙精度型實數(shù),非數(shù)值型數(shù)據(jù))的編碼以及存儲方式進(jìn)行了詳細(xì)研究,并通過C語言進(jìn)行了驗證。

      數(shù)據(jù);內(nèi)存;存儲單元;小端存儲

      1 數(shù)值型數(shù)據(jù)在計算機(jī)中的存儲

      1.1 整數(shù)在計算機(jī)中的存儲方式

      在字長為32位的系統(tǒng)中,整數(shù)的范圍為-232~232-1即-2 147 483 648~+2 147 483 647。整數(shù)的原碼用其二進(jìn)制形式表示,其最高位為符號位,正數(shù)的符號位為0,負(fù)數(shù)的符號位為1。例如在字長為32位的計算機(jī)系統(tǒng)中,整數(shù)+70和-70的原碼分別為

      整型數(shù)在計算機(jī)內(nèi)存中存儲形式為其補(bǔ)碼[1]的形式。正數(shù)的補(bǔ)碼等于其原碼,負(fù)數(shù)的補(bǔ)碼等于除符號位之外各位求反再加1。例如在字長為32位的計算機(jī)系統(tǒng)中,+70和-70的補(bǔ)碼分別為

      可設(shè)計C語言程序驗證正整數(shù)與負(fù)整數(shù)在計算機(jī)內(nèi)存中的存儲形式,具體如下所示。

      由此可見,正整數(shù)在內(nèi)存中是以其原碼形式存儲的,而負(fù)整數(shù)是以其補(bǔ)碼形式存儲的,其在內(nèi)存中存儲都是占用4個存儲單元。

      1.2 小數(shù)在計算機(jī)內(nèi)存中的存儲

      實數(shù)可以以浮點型(float)和雙精度型(double)形式存儲,后者存儲與計算時精度要高于前者。在IntelCPU架構(gòu)的系統(tǒng)中,存放方式以小端模式(Little Endian[2],即低字節(jié)存在低地址中,每個存儲單元存儲一個字節(jié)),那么浮點型實數(shù)在內(nèi)存中是如何存儲的?目前所有的C/C++編譯器都是采用IEEE所制定的標(biāo)準(zhǔn)浮點格式,即二進(jìn)制科學(xué)表示法,將一個實數(shù)S寫成形如S=M*2^N的格式,其主要由3部分構(gòu)成:符號位+階碼(N)+尾數(shù)(M)。對于float型實數(shù)用32個bit存儲,其中符號位1位,階碼8位,尾數(shù)23位,如表1所示;對于double型實數(shù)用64個bit存儲,符號位1位,階碼11位,尾數(shù)52位,如表2所示。

      表1 Float類型數(shù)據(jù)在內(nèi)存中的存儲形式(占用4個存儲單元)

      表2 Double類型數(shù)據(jù)在內(nèi)存中的存儲形式(占用8個存儲單元)

      階碼:采用移碼表示,對于float型數(shù)據(jù)其規(guī)定偏置量為127,階碼有正有負(fù),對于8位二進(jìn)制,則其表示范圍為-128~127;對于double型規(guī)定偏置量為1 023,其表示范圍為-1 024~1 023。比如對于float型數(shù)據(jù),如果階碼的真實值為2,則加上127后為129,其階碼表示形式為1000 0001。

      尾數(shù):有效數(shù)字位,即部分二進(jìn)制位(小數(shù)點后面的二進(jìn)制位),因為規(guī)定M的整數(shù)部分恒為1,所以這個1就不進(jìn)行存儲了。

      例如,推算float型實數(shù)125.5在計算機(jī)內(nèi)存中的存儲形式。將125.5轉(zhuǎn)換為二進(jìn)制形式,表示為1111101.1,由于規(guī)定尾數(shù)的整數(shù)部分恒為1,則表示為1.1111011*2^6,階碼為6,加上127為133,則表示為10000101,而對于尾數(shù)將整數(shù)部分1去掉,為1111011,在其后面補(bǔ)0使其位數(shù)達(dá)到23位,則為11110110000000000000000。125.5的二進(jìn)制表示形式為

      0 10000101 11110110000000000000000,其在內(nèi)存中占用4個存儲單元的存儲形式,如表3所示。

      表3 一個float型數(shù)據(jù)在內(nèi)存中的存儲形式示例

      由上分析可知,float型數(shù)據(jù)最大表示范圍為1.11111111111111111111111*2^127=3.4*10^38設(shè)計C語言程序驗證一個浮點小數(shù)在計算機(jī)內(nèi)存中的存儲形式。

      用Linux系統(tǒng)中的gcc編譯器編譯后的運行結(jié)果為:

      對于double型實數(shù)在計算機(jī)內(nèi)存中存儲形式的分析與float型類似,只不過其階碼為11位,偏置量為1 023,尾數(shù)為52位。

      2 非數(shù)值型數(shù)據(jù)在計算機(jī)內(nèi)存中的存儲

      2.1 ASCII字符

      無論是標(biāo)準(zhǔn)ASCII字符,還是擴(kuò)展ASCII字符,都是以1個字節(jié)的編碼,因此它們在計算機(jī)中的存儲占用1個存儲單元。例如字符‘A’在存儲時占用1個存儲單元,其值為0x41;字符‘a(chǎn)’存儲時占用1個存儲單元,其值為0x61;字符‘$’存儲時占用1個存儲單元,其值為0x24。

      2.2 漢字

      通過查“GB2312簡體中文編碼表”[3]可知,該表里對各種標(biāo)點符號、日文片假名、特殊符號、制表符、希臘字母、俄文字母、漢字等進(jìn)行了編碼,每個符號的編碼為16個bits。例如,通過查“GB2312簡體中文編碼表”可知字符“㈥”的編碼為0xA2EA,具體見下面GB2312簡體中文編碼表的一部分(表4)。

      表4 GB2312簡體中文編碼部分表

      那么對GB2312簡體中文編碼表中的字符,它們在計算機(jī)中是如何存儲的呢。例如漢字“安”的GB2312編碼為0xb0b2,其低字節(jié)為0xb0,那么有0xb0的原碼=(1011 0000)2,0xb0的補(bǔ)碼為[1011 0000]補(bǔ)=[1011 0000]反+1=(1100 1111)2+1= (1101 0000)2,其真值為十進(jìn)制數(shù)-80。而真值為-80在32位字長的計算機(jī)系統(tǒng)內(nèi)存中占用4個存儲單元(即4個字節(jié)),其存儲形式如下,

      即漢字“安”的編碼的低字節(jié)在內(nèi)存中存儲形式為0xffffb0。用同樣的方法分析漢字“安”的編碼的高字節(jié)在內(nèi)存中的存儲形式為0xffffb2,其總共占用了8個存儲單元(8個字節(jié))??稍O(shè)計如下C語言程序進(jìn)行驗證。

      實際上,任何字符都像漢字那樣進(jìn)行了編碼,而無論其編碼是GB2312,還是UNICODE,UTF16編碼,對它們在內(nèi)存中存儲格式的分析都可參照此方法進(jìn)行。

      3 總結(jié)

      本文總結(jié)了現(xiàn)實世界中的數(shù)據(jù),包括正整數(shù)、負(fù)數(shù)、浮點小數(shù)、雙精度小數(shù)、非數(shù)值型數(shù)據(jù),在計算機(jī)系統(tǒng)內(nèi)存中的存儲形式及占用的存儲單元數(shù)量。設(shè)計了相應(yīng)的實驗驗證了在Intel架構(gòu)的計算機(jī)系統(tǒng)中數(shù)據(jù)在計算機(jī)內(nèi)存中是以Little-endian方式進(jìn)行存儲的。這些計算機(jī)基礎(chǔ)知識對計算機(jī)專業(yè)的學(xué)生了解計算機(jī)系統(tǒng)底層工作原理和數(shù)據(jù)處理機(jī)制具有一定的意義。

      [1]W IKIPEDIA.Two'scomplement[EB/OL].(2016-09-22)[2016-09-26] .https://en.wikipedia.org/wiki/Two%27s_complement.

      [2]BAIDU.Little-endian[EB/OL].(2016-06-19)[2016-09-26].http: //baike.baidu.com/view/2368412.htm.

      [3]BAIDU.GB2312簡體中文編碼表[EB/OL].(2016-09-20) [2016-09-26].http://www.knowsky.com/resource/gb2312tbl.htm.

      Storage Form for Data in theMemory of Computer System and Experimental Verification

      WU Yan-ting,F(xiàn)ANG Xian-jin
      (School of Computer Science and Engineering,Anhui University of Science and Technology,Huainan,Anhui 232001,China)

      Any data in real world,including digital data and non-digital data,are normally stored and processed in the form of binary in the computer system.For the student majoring in computer specialty,the storage and processing form of various data in thememory of computer system isuseful to understand the operating principle and data processingmechanism in the underlying layer of computer system.In this paper,several experiments are designed to investigate the form of encoding and storage for positive and negative integer,float and double real number and other non-digital data,which are tested and verified by C language programs.

      data;memory;memory cell;little-endian

      TP306

      A

      1007-4260(2016)04-0152-03

      時間:2017-1-3 17:19

      http://www.cnki.net/kcms/detail/34.1150.N.20170103.1719.039.html

      2016-04-15

      安徽省信息安全專業(yè)綜合改革試點項目(ZY201418)。

      吳艷婷,女,安徽長豐人,安徽理工大學(xué)助理實驗師,研究方向為計算機(jī)類課程實驗項目設(shè)計。E-mail:ytwu@aust.edu.cn

      10.13757/j.cnki.cn34-1150/n.2016.04.039

      猜你喜歡
      存儲單元簡體中文字符
      尋找更強(qiáng)的字符映射管理器
      一種28 nm工藝下抗單粒子翻轉(zhuǎn)SRAM的12T存儲單元設(shè)計
      DDE Server
      字符代表幾
      一種USB接口字符液晶控制器設(shè)計
      電子制作(2019年19期)2019-11-23 08:41:50
      消失的殖民村莊和神秘字符
      數(shù)據(jù)在計算機(jī)內(nèi)存中的存儲形式及實驗驗證
      7-Data Card Recovery
      一種成本更低的全新靜態(tài)DRAM存儲單元
      MiR-125a-5p is Upregulated in Plasma of Residents from An Electronic Waste Recycling Site
      临西县| 梁山县| 湛江市| 安龙县| 沅陵县| 济阳县| 肇州县| 玉田县| 当阳市| 大丰市| 灵寿县| 南京市| 连山| 衢州市| 尤溪县| 阳新县| 嘉祥县| 科技| 南乐县| 五台县| 明水县| 德令哈市| 贵州省| 嵊泗县| 马边| 虎林市| 建德市| 枣强县| 晋州市| 蚌埠市| 神农架林区| 江津市| 镇宁| 遂川县| 山阴县| 建湖县| 大理市| 衢州市| 和顺县| 凭祥市| 正镶白旗|