石建 | Fat Mind

          信息的表示和處理

          計算機以二進制表示和存儲信息。

          計算機內部數據的存儲,根據數據的特性分為:

          1、 無符號整數

          2、 有符號整數(補碼)

          3、 浮點數

          明確的關鍵點:

          1、 計算機內部是通過有限的位編碼一個數字,因此存在“溢出”現象,因為表示的范圍是有限的。

          2、 大多數計算機使用8位的塊,做為最小的可尋址的存儲器單位。

                 3、不同的數據類型,數據大小是不一樣的。(準確的要依賴機器和編譯器)。

                 4、對象的地址使用字節序列中的最小的地址。(網絡傳輸、跨平臺時考慮字節序的問題)

          一、無符號整數

                 基本的“二進制”表示。 

          二、有符號整數 --- 補碼 同余

                 使用補碼,減法也可按加法來處理(ALU不用去實現減法運算)。(兩個用補碼表示的數據相加時候,將符號位和其它位統一處理,如果最高位(符號位)有進位,則進位被舍棄。)

                 最高有效位為符號位,1負數,0正數。(Java只支持有符號整數)

          三、浮點數

                 劃分為三個域:1.符號  2.有效位(二進制小數)  3. 指數位(2的冪,對浮點數加權)

          單精度:1 = 23 =8  雙精度 1 = 52 = 11

                 特性:精度有限,浮點運算是不可結合和交換的。

          四、“模”概念

                  “是指一個計量系統的計數范圍.如時鐘等.計算機也可以看成一個計量機器,它也有一個計量范圍,即都存在一個”.例如:
                  
          時鐘的計量范圍是011,=12.

                  表示n位的計算機計量范圍是02(n)-1,=2n.【注:n表示指數】
                  “
          實質上是計量器產生溢出的量,它的值在計量器上表示不出來,計量器上只能表示出模的余數.任何有模的計量器,均可化減法為加法運算. 例如: 假設當前時針指向10,而準確時間是6,調整時間可有以下兩種撥法:
                         1
          、倒撥4小時,即:10-4=6
                         2
          、順撥8小時:10+8=12+6=6
                  
          在以12模的系統中,8和減4效果是一樣的,因此凡是減4運算,都可以用加8來代替.
                  
          而言,84互為補數.實際上以12模的系統中,111,102,93,75,66都有這個特性.共同的特點是兩者相加等于模.
                  
          對于計算機,其概念和方法完全一樣.n位計算機,n=8, 所能表示的最大數是11111111,若再加1稱為100000000(9),但因只有8,最高位1自然丟失.又回了00000000,所以8位二進制系統的模為2(8). 在這樣的系統中減法問題也可以化成加法問題,只需把減數用相應的補數表示就可以了.把補數用到計算機對數的處理上,就是補碼。




          posted on 2010-04-24 21:39 石建 | Fat Mind 閱讀(395) 評論(0)  編輯  收藏 所屬分類: 閱讀筆記


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          導航

          <2010年4月>
          28293031123
          45678910
          11121314151617
          18192021222324
          2526272829301
          2345678

          統計

          常用鏈接

          留言簿

          隨筆分類

          隨筆檔案

          搜索

          最新評論

          What 、How、Why,從細節中尋找不斷的成長點
          主站蜘蛛池模板: 泾川县| 肇庆市| 普兰县| 柳河县| 枝江市| 台南市| 廉江市| 安徽省| 雅江县| 石家庄市| 济宁市| 崇信县| 平安县| 馆陶县| 南平市| 瑞金市| 灵石县| 西乡县| 潼南县| 阳信县| 富锦市| 东乡| 富平县| 建始县| 汉沽区| 大冶市| 金山区| 博白县| 望奎县| 彭山县| 乌兰县| 黑山县| 普安县| 丹阳市| 光山县| 峨眉山市| 土默特左旗| 大姚县| 南涧| 盘锦市| 新巴尔虎右旗|