【发布时间】:2016-08-25 18:10:36
【问题描述】:
我需要仅使用 int 作为数据类型来查找两个数字的平均值。我不能使用公式 (x1+x2)/2 = mean,因为如果数字足够大,这会导致溢出。
我找到了这个公式
int mid = low + ((high - low) / 2);
来自这个帖子Explanation of the safe average of two numbers。
但是,当涉及负数时,此公式不起作用。有没有人对如何解决这个问题有任何想法?谢谢
编辑 - Java
【问题讨论】:
-
这是什么语言?
-
Java,并不认为它太重要,但我想我可以看到它会如何改变事情。更新帖子
-
为什么不能用long?
-
@edtheprogrammerguy 这是一个朋友提出的我解决不了的游戏,他特别说只允许整数