java怎么表示正无穷大_如何在Java中实现无穷大?

问题

Java是否有任何代表每种数值数据类型的无穷大?它是如何实现的,以便我可以用它进行数学运算?

例如。

int myInf = infinity; //However it is done

myInf + 5; //returns infinity

myInf*(-1); //returns negative infinity

我尝试使用非常大的数字,但我想要一个合适的,容易解决方案。

#1 热门回答(148 赞)

double支持Infinity

double inf = Double.POSITIVE_INFINITY;

System.out.println(inf + 5);

System.out.println(inf - inf); // same as Double.NaN

System.out.println(inf * -1); // same as Double.NEGATIVE_INFINITY

版画

Infinity

NaN

-Infinity

注意:Infinity - Infinity不是数字。

#2 热门回答(26 赞)

我假设你使用整数数学是有原因的。如果是这样,通过使用Integerclass的MAX_VALUE字段,你可以获得与POSITIVE_INFINITY功能几乎相同的结果:

Integer myInf = Integer.MAX_VALUE;

(对于NEGATIVE_INFINITY,你可以使用MIN_VALUE。)当然会有一些功能差异,例如,当比较myInf到恰好是MAX_VALUE的值时:显然这个数字不小于myInf。

还有a library实际上有字段POSITIVE_INFINITY和NEGATIVE_INFINITY,但它们实际上只是MAX_VALUE和MIN_VALUE的新名称。

#3 热门回答(8 赞)

要使用Infinity,你可以使用Double,它支持Infinity: -

System.out.println(Double.POSITIVE_INFINITY);

System.out.println(Double.POSITIVE_INFINITY * -1);

System.out.println(Double.NEGATIVE_INFINITY);

System.out.println(Double.POSITIVE_INFINITY - Double.NEGATIVE_INFINITY);

System.out.println(Double.POSITIVE_INFINITY - Double.POSITIVE_INFINITY);

OUTPUT: -

Infinity

-Infinity

-Infinity

Infinity

NaN

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值