为了账号安全,请及时绑定邮箱和手机立即绑定

有关float及强制类型转换的问题

1)int a=4;

float b=(float)a/4;为什么不对?a/4的结果什么时候强制转换/

2)float 与double有什么根本的区别吗?

正在回答

2 回答

b = (float)a/4其实是把int型的a先转换成float,再除以4,此时结果是b = 1.000000;

自动转化类型有很多情况,b =a/4.0时就会自动把b的值变为浮点型,还有是调用某些东西时自动转化

0 回复 有任何疑惑可以回复我~

第一个运算结果是正确的,一般我会直接使用float b = a/4.0;

第二个float是单精度浮点型,有效数位8位,占4个字节,double是双精度浮点型,有小数位16位,占8个字节。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第一季(IDEA工具)升级版
  • 参与学习       1165474    人
  • 解答问题       17585    个

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

进入课程

有关float及强制类型转换的问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信