91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

浮點數的存儲形式

發布時間:2020-07-20 22:07:27 來源:網絡 閱讀:405 作者:我是你帆哥 欄目:編程語言

float在內存中的存儲形式:

先看下面一道例題:

 

                 float *p = (float *)#

                printf( "num=%d\n", num);

                printf( "*p=%d\n", *p);


                *p = 5.0;

                printf( "num=%d\n", num);

                printf( "*p=%f\n", *p);

浮點數的存儲形式

浮點數的存儲形式

這是因為float在計算機中的存儲形式與int存儲形式不同造成的:

對于float類型:

浮點數的存儲形式

浮點數的存儲形式

例如:5.0(101)在內存中的存儲形式是

             5.0=(-1)^0*(1.01)*2^2


          0 10000010 01000000000000000000000


有沒有對指數位E感到奇怪呢?因為E占有8個bit位,取值范圍是0-255,取不到負數,所以我們給E加上一個127再存到指數位中。這樣就可以取到

負數。當我們讀取這個時給E減去127就行了。


當E為全0時,表示一個接近0的數,因為E為全0時,M將不再加1,m為0.xxxxxxx...的形式,浮點數的指數為1-127,是一個非長小的數。

當E為全1時,如果M為全0,則表示一個正負無窮大的數。



現在對于上面的例題清楚了吧,同一個數分別以float和int的形式去看,看到的結果是不同的。



對于double形式,是一樣的,只不過double是8個字節,64個bit位,所以double的指數位是11位(要加一個1023),有效位是52位。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

兰州市| 汝南县| 阳泉市| 芒康县| 定南县| 宁波市| 海林市| 库伦旗| 吐鲁番市| 屏东市| 体育| 龙州县| 宁波市| 彰化县| 兴安县| 元江| 武定县| 霞浦县| 民丰县| 三门峡市| 房产| 昂仁县| 武邑县| 新化县| 元谋县| 临泽县| 三原县| 红河县| 乌兰县| 宁陕县| 望谟县| 云林县| 祥云县| 云安县| 杭州市| 南安市| 康保县| 周至县| 南江县| 丹阳市| 乌鲁木齐县|