Java基礎之float資料在記憶體中的儲存

2021-08-17 07:11:58 字數 768 閱讀 4241

1、float型別數字在計算機中用4個位元組儲存。遵循ieee-754格式標準:

乙個浮點數有2部分組成:底數m和指數e。

格式:seee eeee emmm mmmm mmmm mmmm mmmm mmmm

s表示浮點數正負    

e指數加上127後的值得二進位制資料

m底數2、底數部分 

使用二進位制數來表示此浮點數的實際值。底數部分實際是占用24bit的乙個值,但是最高位始終為1,所以最高位省去不儲存,故底數部分在儲存中佔23bit。

3、指數部分

指數部分占用8bit的二進位制數,可表示數值範圍為0-255。但是指數可正可負,所以,ieee規定,此處算出的次方必須減去127才是真正的指數。 所以,float型別的指數可從-126到128。

4、舉例:浮點數-12.5 在記憶體中的儲存

首先浮點數為負,所以 s=1。

整數部分為12 ,轉換為二進位制就是:1100

小數部分為0.5,轉換為二進位制就是 :0.1

故12.5的二進位制為:1100.1 。 用科學計數法表示為:1.1001*2^3

這樣,我們的底數和指數就出來了

底數:因為小數點前必為1,所以ieee規定只記錄小數點後的就好。所以,此處的底數為:1001    

指數:實際為3,必須加上127(轉出的時候,減去127),所以為130。也就是10000010

符號部分是整數,所以是1

綜上所述,-12.5在記憶體中的儲存格式是: 1100 0001 0100 1000 0000 0000 0000

java基礎 資料容器之Map HashMap

資料容器 在程式 中,用來暫時儲存資料的 盒子 容器 用於後續的邏輯處理。為什麼需要map?map是資料容器中的一種資料結構,首先它是用來儲存資料的 其次,與其它資料容器不同,它是一種可以通過業務資料來快速 精確檢索另乙個業務資料的資料結構。map 是一種key value的資料結構 key和val...

大資料之JAVA基礎(三) 陣列

1.定義 資料型別 陣列名 new 資料型別 元素個數或陣列長度 int x new int 100 型別 陣列名 new 型別 intx new int 型別 陣列名 int x 2.陣列的遍歷 for int i 0,i x.length,i 3.陣列常見的異常 nullpointerexcep...

Java基礎之語句

無限迴圈的最簡單表現形式。for while true 1,變數有自己的作用域。對於 for來講 如果將用於控制迴圈的增量定義在 for語句中。那麼該變數只在 for語句內有效。for語句執行完畢。該變數在記憶體中被釋放。2,for和 while 可以進行互換。如果需要定義迴圈增量。用 for更為合...