我需要一个尽可能接近0的值。我需要能够划分这个值,但它应该是有效的0.双尽可能接近0?
Java是否提供了一种简单的方法来生成只有最低有效位集的double?还是我必须自己计算一下?
//编辑:有点背景信息,因为有人请求它。我知道我的灵魂不是特别干净,但你在这里:
我正在写作业的一个程序。它计算并联和串联电路中由多个电阻组成的电路的电阻。
这是一个二年级的编程课。我们的老师仍然为我们设计课程,我们需要根据他的设计来实施课程。
并行电路涉及计算1/*resistance*
,因此我的程序禁止创建0欧姆的电阻。物理学告诉你,无论如何这是不可能的(你在每种金属中只有一点点阻力)。
但是,我们应该用来测试程序的示例电路包含一个0欧姆电阻。它被放置在一个串联电路中,但电阻不知道它们在哪里(老师是这样设计的),所以我不能改变我的程序,只允许串联电路中具有0欧姆电阻的电阻。
两个解决方案:
- 允许0欧姆电阻器在任何情况下 - 如果除以0时,好,坏运气
- 设置电阻不为0,但阻力可以忽略。
两者都不是很好。第一个对我来说似乎不太好,第二个也不好,但我不得不决定。
这只是一个随机选择,抛出了问题。我不能放过,不解决它,所以切换到第一个是不是一种选择了;-)
当你说“我需要能够分裂这个值”时,你的意思是没有产生NaN,或者没有产生溢出?因为将几乎任何有限的值除以最小的正非零双将产生溢出。 –
不生产NaN。我不能不在乎我的情况下溢出。 – fNek
听到更多关于你为什么需要这个的信息会很有趣。这听起来有点冒失。 –