計算機中使用數據可分爲兩大類:markdown
那麼,它們在計算機中是怎麼存儲的呢?這就是咱們學習的目標學習
數值數據經常使用的數據表示格式又有兩種:編碼
第一個是符號位,緊跟着就是小數點(在定點純小數中,小數點固定在符號位以後,不佔位置),後面的就是數值圖片
範圍:字符串
例子:1111表示-0.875get
第一個是符號位,後面的就是數值,小數點在數值的最後一位+1(小數點不佔位置)it
例子:1111表示的是-7io
在計算機中經常使用定點純整數表示,若是數據超出了範圍,會溢出的:class
爲何要有浮點數表示的方法呢?緣由就是定點數表示方法的範圍不夠大。例以下面的數據,在定點計算機中是沒法直接表示出來的軟件
要讓它可以送入定點計算機進行某種運算,就必須抽取它們的比例因子(數值部分絕對值小於1)
那麼在計算機中就是這樣表示一個數字了:把數的有效數字和數的範圍在計算機中的一個存儲單元中分別表示,數的小數點位置隨比例因子的不一樣而在必定的範圍內能夠自由浮動。這就叫作浮點表示法
任何的一個數N能夠寫成這樣:
咱們在計算機上表示浮點數是這樣的:
然而,階符,階碼,數符,尾數存儲的位數是不肯定的,對於不一樣的系統可能存儲數據的方式就不同。
因而爲了便於軟件的移植,咱們按照IEEE754的標準來存儲浮點數數據:
術語解釋:
咱們對浮點數的表示也作出了明確的規定:當尾數的值不爲0時,尾數域的最高有效位爲1
例子1:若浮點數x的754標準存儲格式爲(41360000)16,求其浮點數的十進制數值。
步驟:
例子2:將數(20.59375)10轉換成754標準的32位浮點數的二進制存儲格式。
步驟:
大多較強的計算機都能直接處理十進制形式表示的數據,通常有兩種形式:
有個知乎回答得很好:
https://www.zhihu.com/question/20159860/answer/71256667
計算機實際使用中用來運算和存儲的都是補碼
移碼主要用於表示浮點數的階碼E,有利於比較兩個指數的大小和對階操做!
特色:移碼和補碼尾數相同,符號位相反
字符數據屬於符號數據,國際上採用的字符系統是七單位的ASCII碼
直接使用西文標準鍵盤輸入漢字,進行處理,並顯示打印漢字須要解決三種不一樣用途的編碼: