計算機實數表示法---浮點數(一)

實數包含有理數和無理數,直觀的看無理數是無限不循環的小數,有理數包含整數、無限循環小數和有限位的小數,現要着重討論的是小數的表示方法。blog

舉例說明:it

對於11.75先轉化爲二進制形式循環

    11=8+2+1=10011二進制

    0.75=0.5+0.25==0.11方法

    轉化爲規格化的二進制指數形式爲11.75=10011.11=im

    相似的對於-0.75轉化爲格式化的二進制指數形式爲-0.75=-0.11=img

     對於這兩個數採用單精度浮點數格式()存儲分別爲    co

     0_10000011_00111100000000000000000、1_01111110_10000000000000000000000。浮點數

符號位比較好解釋:0表示正數、1表示負數;ps

指數位8位e採用無符號數表示,範圍是0-255,可是爲了將實際指數範圍從-127~128來表達很小或者很大的數時須要將實際指數+偏移量127,即10000011=4+127=131,01111110=-1+127=126;

尾數位就是從小數點日後取23位,不夠的補0。

以上是單精度浮點數的表示規則,下面着重說明某些特殊值的表示:

一、0有正0和負0分別表示爲0_00000000_00000000000000000000000,1_00000000_00000000000000000000000

二、無窮大和無窮小分別表示爲1.0f/0.0f(分子只要不爲0.0便可)  <=> 0_11111111_00000000000000000000000), -1.0f/0.0f  <=> 1_11111111_00000000000000000000000

三、NaN表示爲0.0f/0.0f <=> 0_11111111_10000000000000000000000  尾數位只要不爲0便可

四、指數位爲0,尾數位不爲0表示非規格化的,這類數已經很是小了可是合法的能夠經過Float.intBitsToFloat(0b1_00000000_11000000000000000000000)進行驗證。

相關文章
相關標籤/搜索