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中没有无符号型整数,而且明确规定了整型和浮点型数据所占的内存字节数,这样就保证了安全性、鲁棒性和平台无关性