java初學者,浮點數的定義是什麼 是數字後帶小數點的數叫浮點數嗎float和double的區別是什麼

float表示單精度浮點數在機內佔4個位元組,用32位二進制描述。
double表示雙精度浮點數在機內占回8個位元組,用64位二進制描述。答

浮點數在機內用指數型式表示,分解為:數符,尾數,指數符,指數四部分。
數符佔1位二進制,表示數的正負。
指數符佔1位二進制,表示指數的正負。
尾數表示浮點數有效數字,0.xxxxxxx,但不存開頭的0和點
指數存指數的有效數字。

指數佔多少位,尾數佔多少位,由計算機系統決定。
可能是數符加尾數佔24位,指數符加指數佔8位 -- float.
數符加尾數佔48位,指數符加指數佔16位 -- double.

知道了這四部分的佔位,按二進制估計大小范圍,再換算為十進制,就是浮點數的數值范圍。

對編程人員來說,double 和 float 的區別是double精度高,有效數字16位,float精度7位。但double消耗內存是float的兩倍,double的運算速度比float慢得多,java語言中數學函數名稱double 和 float不同,不要寫錯,能用單精度時不要用雙精度(以省內存,加快運算速度)。

Ⅱ Java 浮點數表示法

浮點類型的表示為「數值f」(如0.0f)。

擴展:

Ⅲ java浮點數輸出問題

你定義的f=0.8891406,是浮點數,
f*math.pow(2,32)執行完還是一個浮點數,由於浮點數表示,其結果超出了浮點數表示的范圍,就會損失精度。你可以看一下f*math.pow(2,32)結果是一個整數,所以最終結果為0

你把f=0.8891406,聲明為double類型就ok了

Ⅳ java中float和double是多少位浮點數

float表示單精度浮點數在機內佔4個位元組,用32位二進制描述。
double表示雙精度浮點內數在機內容佔8個位元組,用64位二進制描述。

浮點數在機內用指數型式表示,分解為:數符,尾數,指數符,指數四部分。
數符佔1位二進制,表示數的正負。
指數符佔1位二進制,表示指數的正負。
尾數表示浮點數有效數字,0.xxxxxxx,但不存開頭的0和點
指數存指數的有效數字。

指數佔多少位,尾數佔多少位,由計算機系統決定。
可能是數符加尾數佔24位,指數符加指數佔8位 -- float.
數符加尾數佔48位,指數符加指數佔16位 -- double.

知道了這四部分的佔位,按二進制估計大小范圍,再換算為十進制,就是浮點數的數值范圍。

對編程人員來說,double 和 float 的區別是double精度高,有效數字16位,float精度7位。但double消耗內存是float的兩倍,double的運算速度比float慢得多,java語言中數學函數名稱double 和 float不同,不要寫錯,能用單精度時不要用雙精度(以省內存,加快運算速度)

Ⅳ 為什麼JAVA中可以用浮點數取余於浮點數

* 取余運算符 %
Java中是這樣定義%運算的:對於所有的int型a和所有非0 int型數值b,滿足恆等式 (a/b)*b + a%b == a,該恆等式具有正確的含義,但當它和Java中的截尾操作(3/2 == 1)結合時,它就意味著:當取余操作返回一個非零的結果時,它與左操作數具有相同的正負符號,例如:
-3/2 == -1;
3/(-2) == 1;
(-3)/(-2) == -1;
C和C++中的%運算只能對整型數進行,Java中的%運算則可以對浮點數進行。浮點數的%運算遵循以下原則:
1. 有NaN參與運算時,結果是NaN;(0%NaN 是 NaN)
2. 如果結果不是NaN,那麼結果的符號和被除數符號一致;
3. 如果被除數是無窮大(NEGATIVE_INFINITY或POSITIVE_INFINITY),和/或除數是0,那麼結果是NaN;
4. 如果被除數是有限值,除數是無限大,那麼結果是被除數;(注意,不一定是0,0%Double.POSITIVE_INFINITY == 0.0)
5. 如果被除數是0,除數是有限值,那麼結果是0;
浮點數的%運算不會拋出運行時異常,即使除數是0.0,因為此時的結果是NaN,而且,也不會出現溢出和精度丟失等問題,因為這里有無窮大存在。

Ⅵ 關於Java 小數(浮點型)相加

float的有效來精度只有7位,超過自了就改為double,不然無法精確運算。

double Java里兩個二位小數相加,會得到小數點後很多位,這是double的缺點,你可以使用BigDecimal 來精確運算。例子:

importjava.math.BigDecimal;
publicclasstest{
publicstaticvoidmain(String[]args){
doublekk=3.14;
kk+=0.37;
System.out.println(kk);
BigDecimalb1=newBigDecimal("3.14");
BigDecimalb2=newBigDecimal("0.37");
BigDecimalb3=b1.subtract(b2);
BigDecimalb4=b1.add(b2);
System.out.println(b3);
System.out.println(b4);
}
}

Ⅶ 用java編寫程序,從鍵盤輸入一個浮點數,然後將該浮點數整數部分輸出

直接轉換成整數,就可以完成取整,具體代碼如下:

importjava.util.Scanner;

publicclassApp12{

publicstaticvoidmain(String[]args){

Scannerscanner=newScanner(System.in);

floatf=scanner.nextFloat();

//取整數部分
intresult=(int)f;

System.out.println(result);

}
}

Ⅷ Java 浮點型 取值范圍

不用記的那個詳細
只要知道2的幾次就行了
誰會問你具體數值呢

Ⅸ java中怎麼將浮點型變成整型


float a=1.1f;//定義一個浮點變來量自a
int b = (int)a;//這里使用(int)方式對float進行強轉,結果為1

float a = 1.1f;//定義一個浮點變數a
String str = String.valueOf(a);//浮點變數a轉換為字元串str
int idx = str.lastIndexOf(".");//查找小數點的位置
String strNum = str.substring(0,idx);//截取從字元串開始到小數點位置的字元串,就是整數部分
int num = Integer.valueOf(strNum);//把整數部分通過Integer.valueof方法轉換為數字

Ⅹ java中的浮點類型能進行運算嗎

可以的
與表示整數的整型不同,浮點型代表的是實數,其實就是包含小數的部分。我們也知道現實世界中是由很多復雜的數據的,所以需要這種表示實數的數據類型的支持。
一、浮點型常量 Java的實常數有兩種表示形式:十進制數形式,由數字和小數點組成,且必須有小數點,如0.123, .123, 123. ,123.0 。 2.科學計數法形式。如:123e3或123E3,其中e或E之前必須有數字,且e或E後面的指數必須為整數。 實常數在機器中佔64位,具有double型的值。對於float型的值,則要在數字後加f或F,如12.3F,它在機器中佔32位,且表示精度較低。
二、浮點型變數 浮點型變數的類型有float和double兩種。數據類型所佔位數的范圍: float 32位 3.4e-038~3.4e+038 ; double 64位 1.7e-308~1.7e+308 ; 雙精度類型double比單精度類型float具有更高的精度,和更大的表示範圍,常常用於科學計算等高精度場合。
三、浮點型變數定義舉例 float f; //指定變數f為float型 double d; //指定變數d為double型 與C、C++不同,Java中沒有無符號型整數,而且明確規定了整型和浮點型數據所佔的內存位元組數,這樣就保證了安全性、魯棒性和平台無關性