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更為合...