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

来源:3-10 练习题

Dusdii

2019-01-15 10:25

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

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

写回答 关注

5回答

  • 慕村3187174
    2019-01-16 15:14:48
    已采纳

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

  • 慕仔1238278
    2019-02-12 17:50:46

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

  • 慕哥3872218
    2019-02-02 00:34:20

    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;

    慕哥3872... 回复Dusdii

    废话,没换过头像的都是这个

    2019-02-02 19:54:45

    共 2 条回复 >

  • netizen
    2019-01-31 20:44:30

    标准答案是:2.75

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

    qq_梦星辰...

    直接说标准答案是2.75的,你之前是没编程语言基础吧

    2019-10-19 21:34:43

    共 4 条回复 >

  • 陈英俊灬
    2019-01-15 10:28:02

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

    Dusdii

    为啥没有小数? 为啥要分整型和浮点?那个被吞噬的3去了哪里?怎么找到?

    2019-01-15 10:31:51

    共 1 条回复 >

Java入门第一季(IDEA工具)升级版

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

1165548 学习 · 17586 问题

查看课程

相似问题