tags: 計算機組成原理
計算機中使用資料可分為兩大類:
那麼,它們在計算機中是怎麼儲存的呢?這就是我們學習的目標
數值資料常用的資料表示格式又有兩種:
浮點格式(資料範圍很大,要求的處理硬體複雜)第乙個是符號位,緊跟著就是小數點(在定點純小數中,小數點固定在符號位之後,不佔位置),後面的就是數值
範圍:例子:1111表示-0.875
第乙個是符號位,後面的就是數值,小數點在數值的最後一位+1(小數點不佔位置)
例子:1111表示的是-7
在計算機中常用定點純整數表示,如果資料超出了範圍,會溢位的:
為什麼要有浮點數表示的方法呢?原因就是定點數表示方法的範圍不夠大。例如下面的資料,在定點計算機中是無法直接表示出來的
要讓它能夠送入定點計算機進行某種運算,就必須抽取它們的比例因子(數值部分絕對值小於1)
那麼在計算機中就是這樣表示乙個數字了:把數的有效數字和數的範圍在計算機中的乙個儲存單元中分別表示,數的小數點位置隨比例因子的不同而在一定的範圍內可以自由浮動。這就叫做浮點表示法
任何的乙個數n可以寫成這樣:
我們在計算機上表示浮點數是這樣的:
然而,階符,階碼,數符,尾數儲存的位數是不確定的,對於不同的系統可能儲存資料的方式就不一樣。
於是為了便於軟體的移植,我們按照ieee754的標準來儲存浮點數資料:
術語解釋:
m是尾數,如果是32位的浮點數,就佔23位,如果是64位的浮點數,就佔52位
我們對浮點數的表示也做出了明確的規定:當尾數的值不為0時,尾數域的最高有效位為1
例子1:若浮點數x的754標準儲存格式為(41360000)16,求其浮點數的十進位制數值。
步驟:計算出指數e,e=e-127
s=0,e=3,m=0110110,再套公式,最後答案為:
例子2:將數(20.59375)10轉換成754標準的32位浮點數的二進位制儲存格式。
步驟:移動小數點,使其在1和2位之間
e=4,e=4+127, s=0,m=010010011最後得到32位浮點數的二進位制儲存格式為:
大多較強的計算機都能直接處理十進位制形式表示的資料,一般有兩種形式:
有個知乎回答得很好:
計算機實際使用中用來運算和儲存的都是補碼
移碼主要用於表示浮點數的階碼e,有利於比較兩個指數的大小和對階操作!
特點:移碼和補碼尾數相同,符號位相反
字元資料屬於符號資料,國際上採用的字元系統是七單位的ascii碼
直接使用西文標準鍵盤輸入漢字,進行處理,並顯示列印漢字需要解決三種不同用途的編碼:
如果您覺得這篇文章幫助到了您,可以給作者一點鼓勵
運算方法和運算器 資料與文字的表示方法
一 資料格式 1 進製裝換 十進位制轉二進位制 整數部分除2取余至餘數為0,小數部分乘2取整至小數為0 2 數值資料表示格式 1 定點數表示方法 小數點固定 分為有符號數和無符號數,對於有符號數來說,最高位為符號位,0正1負 目前計算機中採用定點數表示純整數,定點運算又被稱為整數運算 2 浮點數的表...
類別變數與文字特徵表示
一組資料 data 其中born和died是數字,對於name要進行文字處理。直觀的方式是給每個名字加上乙個數字 這樣使名字之間會有大小之分。對於類別變數,往往尋找二值編碼,要麼是,1,要麼不是,0,在機器學習中稱獨熱編碼。上述data的獨熱編碼結果,列名中,對於value是字串的資料,進行了一些拼...
文字的tfidf值表示
做nlp的時候,如果用到tf idf,sklearn中用countvectorizer與tfidftransformer兩個類,下面對和兩個類進行講解 countvectorizer與tfidftransformer在處理訓練資料的時候都用fit transform方法,在測試集用transform...