1. 程式人生 > >【Java】基礎型別之float(八)

【Java】基礎型別之float(八)

特徵

  • float 資料型別是單精度、32位、符合IEEE 754標準的浮點數;
  • float 在儲存大型浮點陣列的時候可節省記憶體空間;
  • 預設值是 0.0f
  • 浮點數不能用來表示精確的值,如貨幣;
  • float是浮點型別中的一種,以F或f結尾標識,如果不加F或f,則會Java自動預設位double型別資料。

例子:float f1 = 234.5f。

記憶體結構

IEEE 754 浮點單精度(即float)數字格式定義了儲存浮點數的32位位元(bit)佈局,各bit位具體為:"一位做符號位,八位留作指數,23位作尾數"。具體如下:

SEEEEEEEEMMMMMMMMMMMMMMMMMMMMMMM

其中:

S = 符號位

E = 指數

M = 尾數


float的範圍為-2^128 ~ +2^127,也即-3.40E+38 ~ +3.40E+38;

浮點數在記憶體中是按科學計數法來儲存的,其整數部分始終是一個隱含著的“1”,由於它是不變的,故不能對精度造成影響。
float:2^23 = 8388608,一共七位,由於最左為1的一位省略了,這意味著最多能表示8位數: 2*8388608 = 16777216 。有8位有效數字,但絕對能保證的為7位,也即float的精度為7~8位有效數字