java,为什么float赋值时加f,short,byte却不用?

如题,谢谢!
2024-12-19 16:35:18
推荐回答(5个)
回答1:

这么解释吧 从高位 转低位的 必然会损失精度 比如3.4小数 转换成3整数 那么你就损失了0。4这个精度 所以一般int转double 加d 转float加f 但是 short 和byte都是比int还低位的类型 好比 你把3转成 3。4大不了你是加了个0。4只是更加精确没有损失精度 所以不用在数字后面加转换字符 也就是高精度转低精度 不需要加后缀转换字母 低精度转高精度由于可能会造成精度损失所以加标注强转,我所给你解释的是我自己理解的 仅供参考

回答2:

float类型变量值后加F 表示这个变量是float类型变量 是一种数字精度表示法。
例如 float f = 0.0;//这个是会报错的,但是 float f = 0.0f;//这个就是正确的
float表示单精度浮点数在机内占4个字节,用32位二进制描述。

浮点数在机内用指数型式表示,分解为:数符,尾数,指数符,指数四部分。
数符占1位二进制,表示数的正负。
指数符占1位二进制,表示指数的正负。
尾数表示浮点数有效数字,0.xxxxxxx,但不存开头的0和点
指数存指数的有效数字。

指数占多少位,尾数占多少位,由计算机系统决定。
可能是数符加尾数占24位,指数符加指数占8位 -- float.

回答3:

这么解释吧
从高位
转低位的
必然会损失精度
比如3.4小数
转换成3整数
那么你就损失了0。4这个精度
所以一般int转double
加d
转float加f
但是
short
和byte都是比int还低位的类型
好比
你把3转成
3

回答4:

加上f,表示它是一个float型数据了,不能转型为short,byte,因为它们是整型

回答5:

乌龟的屁股
规定