float和int怎么转换

float和int怎么转换,第1张

int

x=3,y=2float

a=2.5,b=3.5

(x+y)%2+(int)a/(int)b

1.计算x+y=3+2=5;

2.(x+y)%2表示除以2的余数。5/2=2余1

3.(int)a/(int)b;强制转换a=2,b=3a/b=2/3=0

所以结果是1+0=1;

注意:

1.float型转换为int型,只取整数部分不产生四舍五入等效果。如float型3.82转换为int结果就是3

2.两个int型相除,结果也为int型,也是取整数部分。如2/3=0.666...取整数部分结果就是0

运行时所有数据都存储在内存中,所以相同很正常,float转int会将小数后面的数舍去。

比如定义了一个floata,强制转换成int可写成(int)a。如果是一个表达式,那么只需要将a替换成一个表达式即可。

规格化值:当指数域的8个二进制zhi数字既非全零又非全1时,float数值就是这种情况。

设指数域的八位二进制所表示的十进制数为e, 则公式1中的E就是 E = e - (2^7 - 1)而且此时,将小数域所表示的二进制假设为(f22)(f21)...(f1)(f0) (注2) ,则该小数域所表示的值即为f = 0.(f22)(f21)...(f1)(f0).于是M = 1 + f

扩展资料:

float a=10// 定义 a为 float 型。

int b=(int)a// 定义b 为 int 型。然后把 float型的 a 强制转换成 int型。再把a的值 赋值给 b

强制转换是指java中的向下转型,因为向下转型的时候会丢失精度。向上转型不需要强制,如:

int a= 10//定义a为int型。

float b = a//定义b为float型。然后把a的值赋给b。这种就是向上转型

参考资料来源:百度百科-强制转换


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9416493.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存