中点公式溢出错误

2023-11-21

我正在学习算法/大o,我只是对此感到好奇。

指某东西的用途

 mid = (low+high)/2;

通常不鼓励使用二分查找算法来获取中点,因为可能会出现溢出错误。为什么这会导致发生溢出错误,以及如何处理

 mid = low + (high-low)/2;

防止这个错误?

Thanks.


在第一种情况下,如果 low 和 high 都足够大(例如,如果两者都等于 2^30+1/或什至更大/),则计算值(low+high),该值可能太大而无法放入 int 中。在第二种情况下,您不计算 (low+high),而是执行一个小技巧并遍历表达式 (high-low),并且该表达式相对于 int 溢出要安全得多。

不过,如果您没有一个大小大于 2^30 的数组(无论如何,这是一个相当大的数组),即使使用第一个表达式,我也不知道如何遇到 int 溢出。所以在大多数情况下我只会使用第一个而不用担心。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

中点公式溢出错误 的相关文章

随机推荐

  • GitHub 推送未触发 Jenkins Pipeline 作业

    我已经创建了 Jenkins Pipeline 作业 并希望在我的 GitHub 存储库推送事件上触发它 I ve added repo url to job config and checked trigger on push optio
  • CasperJS找不到变量$

    我尝试在测试中注入 jQuery 但出现以下错误 ReferenceError 找不到变量 这是我正在尝试测试的 Ruby on Rails 应用程序 在 WEBrick 上运行 这是所有代码 var casper require casp
  • PhoneGap - 打开外部应用程序

    我正在开发一个 PhoneGap 应用程序 我所需要的只是打开一个外部应用程序 例如我的应用程序命名空间是com demo app1我需要打开com demo app2应用 这可行吗 我正在使用 PhoneGap 3 3 我发现WebInt
  • 如何在 Python 中读取文本文件的特定行?

    我在使用 Python 读取文本文件的整个特定行时遇到问题 我目前有这个 load profile open users file txt r read it load profile readline 1 print read it 当然
  • 为什么 CPython 不使用“sphinx.autodoc”作为标准库? [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 我正在开发一个 python 库并且正在使用sphinx autodoc生成文档 因为我认为这是一个避免重复并且使文档和代码保持一致的好方法 在评论中从 sphinx autodoc 发出
  • 自定义列表单击复选框

    我已经填充了一个ListActivity from a Cursor using SimpleCursorAdapter当单击其中一个列表项时启动另一个活动 我也在用ViewBinder对数据进行一些自定义转换 我想添加一个CheckBox
  • Docker 集群多个管理者和工人 Vs

    我有一个 3 节点 docker swarm 集群 我们可能需要 2 名经理 我知道在某一时刻只有一位领导者 由于它是一个 3 节点集群 我试图找到一些文献来了解多个管理器的优缺点 我需要此信息 因为在我的 3 节点集群中 如果我有 2 个
  • Jquery if then 语句获取 css 值

    我想检查是否div带有 CSSclass x has height auto 如果是的话我想要 使用 jQuery 脚本 css class a 从所有元素中删除css class y 如果不是 则脚本不必执行任何操作 谢谢 if div
  • 使用多核 CPU 与 gensim 训练 Doc2vec 时效率不高

    我使用24核虚拟CPU和100G内存用Gensim训练Doc2Vec 但无论修改核心数量 CPU使用率始终在200 左右 top htop 上面两张图显示了cpu使用率 这表明cpu没有得到有效利用 cores multiprocessin
  • 使用ReferenceQueue和WeakReference

    我想在其他线程不再引用 Closeable 对象时正确关闭它 我写了一些小测试 但在对象入队后 get 方法返回 null 即 poll 方法返回没有引用对象的正确对象 public static void main String args
  • 使用ggplot2在地图上绘制条形图?

    我想使用 ggplot2 为地图上的每个位置生成一个条形图 正如 xingmowang 使用基础图形和一些软件包所做的那样 http nzprimarysectortrade wordpress com 2011 10 02 let r f
  • 谷歌应用程序引擎上有像 pluto 或 jetspeed 这样的 Portlet 容器吗?

    我正在尝试在谷歌应用程序引擎上构建一些 portlet 服务器 作为开源 我想使用 JSR168 286 标准 但我认为以下限制 应用程序引擎将使它介于棘手和不可能之间 有没有人尝试过运行 jetspeed 或内部使用 pluto 的应用程
  • Rails 视图编码问题

    我正在使用 Ruby 2 0 和 Rails 3 2 14 我的视图中散落着几个 UTF 8 字符 主要是货币符号 如 和 等 我注意到一些 ActionView Template Error incompatible character
  • Spring指标中的@Timed注释

    I use TimedString Boot Rest 控制器上的注释 它工作正常 控制器中的方法调用服务中的方法 该方法也用注释 Timed 但是 后续服务 bean 中方法的此注释不起作用 我没有看到结果 metrics 为什么会发生这
  • 没有为此对象定义无参数构造函数。在 ASP.NET MVC 控制器中

    我确信这很简单 但我有点卡在这里 为我的应用程序定义的路由只是默认路由 我定义了以下控制器 namespace Baynes Wedding Web Controllers public class AdminController Cont
  • 当使用 ElementTree.iterparse() 清除树时,内存使用量是否会增加?

    import os import xml etree ElementTree as et for ev el in et iterparse os sys stdin el clear 在 ODP 结构上运行上述内容RDF dump结果总是
  • jQuery 和 TinyMCE:textarea 值未提交

    我在用jQuery and TinyMCE提交表单 但序列化存在问题 因为 Textarea 值未发布 这是代码
  • 如何检测键盘何时显示和隐藏

    如何检测应用程序中何时显示和隐藏键盘 在类的 ViewDidLoad 方法中设置监听有关键盘的消息 Listen for keyboard appearances and disappearances NSNotificationCente
  • Java:如何同步数组访问以及同步条件下的限制是什么

    我有一个 2x2 数组 有两个线程在其上运行 java中可以在数组上使用synchronized语句吗 锁定是如何工作的 java教程线程说synchronized语句适用于对象 所以我不确定它们的意思 另一个网站说我可以发表这样的声明 s
  • 中点公式溢出错误

    我正在学习算法 大o 我只是对此感到好奇 指某东西的用途 mid low high 2 通常不鼓励使用二分查找算法来获取中点 因为可能会出现溢出错误 为什么这会导致发生溢出错误 以及如何处理 mid low high low 2 防止这个错