• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            小數(shù)的存儲(chǔ)——選自《計(jì)算機(jī)科學(xué)概論》

            這本書對(duì)于入門級(jí)的人來說是一個(gè)不錯(cuò)的選擇,它囊括了很多關(guān)于計(jì)算機(jī)方面的知識(shí),能夠使你對(duì)這方面的知識(shí)有個(gè)廣泛的了解。

            對(duì)于小數(shù)的存儲(chǔ)常用的是浮點(diǎn)記數(shù)法。

            浮點(diǎn)記數(shù)法簡介

            對(duì)于知識(shí)的掌握,通過例子的學(xué)習(xí)是一個(gè)很好的方式。為了考慮到例子的簡易型,用一個(gè)字節(jié)來存儲(chǔ)浮點(diǎn)數(shù)。那么如01101011這樣的二進(jìn)制序列表示的是什么小數(shù)呢?

            一個(gè)字節(jié)中浮點(diǎn)記數(shù)法有如下成分:

            image

            在01101011這么一個(gè)串中,符號(hào)位是0表示非負(fù),1則表示負(fù),指數(shù)為110,表示位數(shù)將乘以2^(指數(shù)),也就是將小數(shù)點(diǎn)從尾數(shù)位的最左邊移動(dòng)指數(shù)個(gè)位,如果指數(shù)為正,向右移動(dòng);反之,向左移動(dòng)指數(shù)位。110是用余碼的方式進(jìn)行記錄的。對(duì)于余碼,我采用的解析的方式是,將最高為取反,按照補(bǔ)碼的方式進(jìn)行讀取。

            110--->010,表示2;0100--->1100,表示-4;

            既然提到了補(bǔ)碼,就解釋一下補(bǔ)碼,最高位為零的補(bǔ)碼其值直接讀取,0110--->6;最高為為1的補(bǔ)碼,其值的讀取方式,從右往左遇到第一個(gè)1之后的所有位取反,讀出值后加個(gè)負(fù)號(hào),1101--->0011,則-3。當(dāng)然對(duì)于0和最小的負(fù)數(shù),不適合上述的方式,但是也很容易就能給出其值。

            再讓我們回到0,110,1011這個(gè)串中,尾數(shù).1011最左斷含有一個(gè)小數(shù)點(diǎn),由于110--->2,因此小數(shù)點(diǎn)向右移動(dòng)兩位則10.11,此時(shí)讀取值2+1/2+1/4=2又3/4。

            至此,我們已經(jīng)知道小數(shù)是如何存儲(chǔ)在二進(jìn)制串中,也知道了如何將其轉(zhuǎn)換為10進(jìn)制數(shù)值,那么該提出注意事項(xiàng)的時(shí)候了。

            1. 規(guī)范化形式

                尾數(shù)最左端的一位必須是1,否則會(huì)出現(xiàn)多意的現(xiàn)象。如00111100,01000110,都可以解碼為3/8。

            2. 截?cái)嗾`差

                整型值會(huì)出現(xiàn)溢出現(xiàn)象,同樣浮點(diǎn)數(shù)也會(huì)出現(xiàn)類似的現(xiàn)象。如利用一字節(jié)浮點(diǎn)記數(shù)法存儲(chǔ)值2又5/8,先用二進(jìn)制進(jìn)行表示10.101,而尾數(shù)只有4位,因此會(huì)出現(xiàn)截?cái)唷?/p>

                還有一個(gè)需要注意的是浮點(diǎn)記數(shù)法表示的數(shù)值加法中,它們相加的順序很重要。

                如,2+1/4+1/8+1/8+1/8+1/8,當(dāng)?shù)?(5/8)+1/8時(shí),2(5/8)用二進(jìn)制表示為10.101,這將發(fā)生截?cái)啵兂?0.10,繼續(xù)加1/8則會(huì)持續(xù)階段。當(dāng)反過來進(jìn)行加法運(yùn)算時(shí),則不會(huì)出現(xiàn)截?cái)嗟默F(xiàn)象。

             

            由于實(shí)際浮點(diǎn)數(shù)具有較長的位數(shù),能夠較好的運(yùn)用于一般的浮點(diǎn)數(shù)運(yùn)算中。但是這樣的問題在一些應(yīng)用中是很嚴(yán)重的(如航海系統(tǒng)),小的誤差在不斷的加法運(yùn)算中累加,最終產(chǎn)生嚴(yán)重的后果,因此對(duì)于精度要求較好的運(yùn)算中,可以選擇采用分?jǐn)?shù)表示法,分裝一個(gè)表示分?jǐn)?shù)的類。

            posted on 2012-06-30 20:50 鐘謝偉 閱讀(1238) 評(píng)論(0)  編輯 收藏 引用


            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            <2025年6月>
            25262728293031
            1234567
            891011121314
            15161718192021
            22232425262728
            293012345

            導(dǎo)航

            統(tǒng)計(jì)

            常用鏈接

            留言簿(1)

            隨筆檔案

            IT網(wǎng)站

            My Friends

            搜索

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            久久性精品| 国产精品九九久久免费视频 | 污污内射久久一区二区欧美日韩 | 伊人久久久AV老熟妇色| 成人综合久久精品色婷婷| 日日噜噜夜夜狠狠久久丁香五月| 久久精品水蜜桃av综合天堂| 国产精品九九久久精品女同亚洲欧美日韩综合区 | 99久久精品日本一区二区免费| 中文字幕成人精品久久不卡| 女人高潮久久久叫人喷水| 精品少妇人妻av无码久久| 久久精品18| 久久99国产精品久久99| 久久久久亚洲AV成人网人人网站| 99麻豆久久久国产精品免费| 四虎国产精品成人免费久久| 久久国产高清字幕中文| 国内精品伊人久久久久777| 精品久久久久久久中文字幕| 99久久超碰中文字幕伊人| 久久婷婷是五月综合色狠狠| 国产精品熟女福利久久AV| 婷婷久久香蕉五月综合加勒比| 思思久久99热免费精品6| 国产精品99久久久久久猫咪 | 亚洲国产精品人久久| 久久AV无码精品人妻糸列| 久久综合视频网站| 久久亚洲高清综合| 久久99精品久久久久久水蜜桃| 国产69精品久久久久777| 久久久久人妻精品一区| 久久婷婷人人澡人人爽人人爱| 亚洲午夜精品久久久久久浪潮 | 久久久久久无码国产精品中文字幕 | 一本久道久久综合狠狠爱| 一级a性色生活片久久无少妇一级婬片免费放| 7国产欧美日韩综合天堂中文久久久久 | 日本久久久久亚洲中字幕| 亚洲级αV无码毛片久久精品|