【问题标题】:Why 1 Divided 1/3 will result infinity Android Studio为什么 1 除以 1/3 会导致无穷大 Android Studio
【发布时间】:2016-05-27 06:52:52
【问题描述】:

我试图计算一些值,但结果是无穷大:

double a;
a=1/3;
result=1/(a);
Log.e("Result a : ", String.valueOf(result));

结果日志

Result a : Infinity

为什么结果是无穷大?我在excel上试试这个代码,结果是3, 谁能解决这个问题?

ANSWER 来自 Good Luck 谢谢 1/3 错误,因为它的整数, 只需更改为 1.0/3.0 并解决问题

【问题讨论】:

  • 你没有使用 int only 对。因为使用 int 时 (1/3) = 0。
  • 在整数数学中,1 / 3 = 0.
  • 请包括 a 和 result 变量的声明——它们是双精度数还是浮点数?打印出 a 和结果会得到什么?
  • 正确:我使用 Double 声明变量 a
  • 你的结果名副其实的数据类型是什么?

标签: android math infinity


【解决方案1】:

当 a=1/3 时,a 变为零,因为它是两个整数的除法。如果你想得到双精度结果(即 0.3333),你应该将代码更改为 a=1.0/3.0。

【讨论】:

  • 变量 a 是 double
  • a 是双倍的,但 13整数..!!
  • 如果你有双 a=1.0/3.0,它也可以。 double 和 float 在这里的工作方式类似。
  • @F_X, a 可能被声明为双精度,但您存储的值是 int 除以 int,因此结果将是 int,存储在双精度中
  • 对不起,是的,你是对的,它必须是 1.0/3.0 以避免无穷大!谢谢
猜你喜欢
  • 2021-07-08
  • 1970-01-01
  • 2014-11-29
  • 2020-12-01
  • 2015-05-20
  • 1970-01-01
  • 2013-08-22
  • 2023-03-05
  • 1970-01-01
相关资源
最近更新 更多