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

为什么35/4=8 这是为啥??

如果这就是计算机算的 真实有点让人无法接受 平白无故的就把3吃了 哎 感觉整个人都不好了 

所以整型在实际中运用 的比较少对不对???! 

正在回答

6 回答

double num=35/8; 这样那后面的小数就出来了,自然double可以换成float,至于为啥要分为整型或浮点,目前才疏学浅的我只能说这个是约定了,就比如说加法为什么是+这个符号而不是其他符号。祝学得开心

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

看数字类型,计算式中的都是整型,所以默认的是int类型。你可以尝试把某个数字改成小数类型,比如将8改为8.0,计算结果就不一样了

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

Java赋值运算中按int类型进行计算,int为4字节00000000 00000000 00000000 00000000,而double为8字节,整型中没有存储小数的位置,所以运算结果也直接取整。

Java中“=”为赋值的意思,35/8是将运算后的整型数值4赋值给num,而num为double型,所以会再将4以double型输出,结果为4.0

long num2=1000000*1000000*1000;中输出结果为-1530494976,就是因为Java在做赋值运算时都按int类型进行计算,1000000*1000000已经超出了int的最大值,int类型计算结果超过最大值后会直接跳到最小值不断循环,直到计算出最终结果,所以要想输出算数的正确结果就应该先对其进行强转:

long num2=(long)1000000*1000000*1000;

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

Dusdii 提问者

头像一样 哈哈? 谢谢
2019-02-02 回复 有任何疑惑可以回复我~
#2

慕哥3872218 回复 Dusdii 提问者

废话,没换过头像的都是这个
2019-02-02 回复 有任何疑惑可以回复我~

标准答案是:2.75

计算步骤,小括号最优,等于35,然后 / 4,等于8.75,最后 % 3,等于2.75 

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

Dusdii 提问者

谢谢!
2019-02-01 回复 有任何疑惑可以回复我~
#2

weixin_慕少1425885

错了,计算当中 int / int 还是int类型。所以 35/4 =8; 8%3=2.
2019-06-25 回复 有任何疑惑可以回复我~
#3

慕后端4193962 回复 weixin_慕少1425885

懂了,感谢
2019-09-30 回复 有任何疑惑可以回复我~
#4

qq_梦星辰_1

直接说标准答案是2.75的,你之前是没编程语言基础吧
2019-10-19 回复 有任何疑惑可以回复我~
查看1条回复

计算机只取整数位,没有四舍五入,小数点之后直接舍掉了

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

Dusdii 提问者

为啥没有小数? 为啥要分整型和浮点?那个被吞噬的3去了哪里?怎么找到?
2019-01-15 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么35/4=8 这是为啥??

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