浮點計算是指浮點數參與的運算,這種運算通常伴隨著因為無法精確表示而進行的近似或捨入。
乙個浮點數a由兩個數m和e來表示:a = m × b^e。在任意乙個這樣的系統中,我們選擇乙個基數b(記數系統的基)和精度p(即使用多少位來儲存)。m(即尾數)是形如±d.ddd...ddd的p位數(每一位是乙個介於0到b-1之間的整數,包括0和b-1)。如果m的第一位是非0整數,m稱作規格化的。有一些描述使用乙個單獨的符號位(s 代表+或者-)來表示正負,這樣m必須是正的。e是指數。
階碼:在機器中表示乙個浮點數時需要給出指數,這個指數用整數形式表示,這個整數叫做階碼。
1、當階碼為固定值時,數的這種表示法稱為定點表示,這樣的數稱為「定點數」;當階碼為可變時,數的這種表示法稱為浮點表示,這樣的數稱為「浮點數」。
2、「移碼」用來表示浮點型小數的階碼。對於正數,符號位為「1」,其餘位不變,如+1110001的階碼為11110001;對於負數,符號位為「0」,其餘位取反,最後加「1」,如–1110001的階碼為00001111。
由此可以看出,在計算機中表示乙個浮點數,其結構如下:
尾數部分(定點小數)階碼部分(定點整數)
階符±階碼e
數符±尾數m
我繼而又通過查閱課本,知道了整數部分和小數部分浮點數的計算。
以5.625為例
1.我們把整數部分換成二進位制,即101,(從下往上書寫)
2.然後我們把小數部分0.2換成二進位制,將小數部分乘以2,取整數部分1,將剩餘的小數部分0.25乘2,取整數部分0,再將剩餘的小數部分乘2,取整數部分1,此時,小數部分已經為0,則計算結束(這裡需要將取得的數字從上到下寫,得到101)。
3.我們把十進位制轉化成二進位制的數按原位置放置,結果就是101.101,即1.01101,我們通過調整小數點的階碼使得該數的有效值在1~2,即二進位制浮點數的整數部分為1,按之前給出的表示方法,我們可以將其寫成1.01101*2^2,但是我們需要將指數部分換成二進位制,而且需要注意的是,這部分是以2^7-1即127,也即01111111代表2^0,代換時需要根據127作偏移調整。那我們的這個數2便是127+2,即10000001。
0 1 . 10000001 01101
符碼 階碼 尾數
1,5.75
仿照上面例子的計算,可得1.0111*2^2,即
0 1 . 10000001 0111
2,161.875
即10100001.111,即1.0100001111*2^7
0 1 . 10000110 0100001111
3,-0.0234375
結果應該是
課下作業(11)
評價360安全瀏覽器 使用者介面 因為360的產品主打顏色都是綠色,這款瀏覽器依舊保持了綠色,給人安全,舒適的感覺 布局很合 理,廣告很少,並且幾乎是在瀏覽器頁面的下面,不影響使用者的使用體驗。字的大小間距都很讓人舒服。記住使用者選擇 在輸入框下面會有你經常搜尋的記錄可以直接點進去,比較方便。並且可...
佇列課下作業
實驗要求 1 補充課上沒有完成的作業 2 參考15.3節,用自己完成的佇列 鏈隊,迴圈陣列佇列 實現模擬票務櫃檯排隊功能 3 用jdb或idea單步跟蹤排隊情況,畫出佇列變化圖,包含自己的學號資訊 4 把 推送到 託管平台 5 把完成過程寫一篇部落格 重點是單步跟蹤過程和遇到的問題及解決過程 6 提...
課下作業4
建立鍊錶 linkedlistmylist new linkedlist 增加節點 list.add e obj 刪除節點 list.remove index 刪除整個鍊錶,使頭結點 next null 遍歷鍊錶 使用get int index 方法遍歷鍊錶,鍊錶物件可以使用iterator 方法獲...