当前位置: 首页 > 知识库问答 >
问题:

Java整数除法[副本]

任绪
2023-03-14

这感觉是个愚蠢的问题,但我在Java文档中的任何地方都找不到答案。如果我声明两个int然后将它们除法,到底发生了什么?它们是先转换为浮点/双点,然后进行除法,然后再转换为整数,还是将除法“完成”为整数?

此外,纯粹从实验来看,整数除法似乎使答案接近零(即3/2=1-3/2=-1)。我相信这是对的吗?

共有2个答案

谭兴学
2023-03-14

Java确实自动转换类型:

“它自动将int转换为doubles。它自动将shorts和bytes转换为ints,即使不涉及int时也是如此,当您想要进行short或byte算术时,需要不断地进行恼人的强制转换。它自动将基元转换为包装,反之亦然,以便装箱和自动装箱。”-用户2357112

如果没有指定,Java从不强制转换任何内容。

但仍然integer/integer=integer

而且,它总是截断结果。因此,如果结果是0.999999作为浮点,整数除法仍将返回0。

锺宜
2023-03-14

它们正在用整数算术进行除法。因此,将整数A除以整数B可以得到BA相匹配的次数。此外,a%b将给出除法的余数。所以(a/b)*b+a%b=a

 类似资料:
  • 问题内容: 我一直在搜索有关此主题的信息,但仍然听不懂,如果有人可以详细说明,我将非常感激。 我的任务是将两个变量除以整数除以余数。问题是,我不知道余数是什么,现在我做了类似的事情,这是通过互联网搜索得到的: 如果我例如设置(a = 43)和(b = 67) 然后我会得到这个结果: 现在,由于我不知道其余的是什么(这只是来自互联网的建议),所以我不知道这是否是正确的答案。 谢谢你的帮助, 亲切的问

  • 问题内容: 这听起来像一个愚蠢的问题,但是我在Java文档的任何地方都找不到答案。如果我声明两个整数然后除以它们,究竟发生了什么?它们是先转换为除法然后再转换为,还是除法为整数? 另外,纯粹从实验来看,整数除法似乎将答案舍入为零(即和)。我相信这一点对吗? 问题答案: 它们被划分为整数运算。因此简单地将整的整数你多少次装配到。还可以给您除法的余数。所以

  • 问题内容: 我需要在Java中对整数进行除法,其结果应该是浮点数。 我可以使用符号吗?如: 问题答案: 将整数之一转换为浮点以确保浮点除法:

  • 问题内容: 我在考虑使用C#或Java之类的语言时如何显示分页控件。 如果我有x个项目想要以每页y个块的形式显示,那么需要多少个页面? 问题答案: Ian提供的整数数学解决方案很好,但存在整数溢出错误。假设变量为all ,则解决方案可以重写为使用数学运算并避免错误: 如果为,则错误仍然存​​在。模数解决方案没有错误。

  • 在这个代码中,-20应该是最小值,因为它是负数,并且离零最远,正确吗?但当我运行MinAlgoritm时,会打印出整数5。我有一个最大版本的这个可以很好地工作,但这个不行。这怎么可能?我能做些什么改进吗?

  • 霍尼韦尔DPS8计算机(和其他计算机)有一条“除分数”指令: “此指令将71位分数除数(包括符号)除以36位分数除数(包括符号),形成36位分数商(包括符号)和36位分数余数(包括符号)。余数的第35位对应于被除数的第70位。除非余数为零,否则余数符号等于被除数符号。” 据我所知,这是整数除法,小数点在左边。 (我确实在白天将整数数学进行了前移,但我对这些技术的记忆在时间的迷雾中消失了。) 要在D