gpt4 book ai didi

c++ - 二进制搜索中 mid=(beg+end)/2 和 mid=beg+(end-beg)/2 有什么区别?

转载 作者:可可西里 更新时间:2023-11-01 15:45:29 27 4
gpt4 key购买 nike

是C++ primer fifth edition 3.26的一道题,不知道有什么区别?可能是第二种可以避免溢出。

最佳答案

May be the second one can avoid overflow.

没错。不能保证 beg+end 是可表示的;但在第二种情况下,中间值以及预期结果不大于 end,因此不存在溢出的危险。

第二种形式也可用于仿射类型,如指针和其他随机访问迭代器,它们可以相减得到距离,但不能相加。

关于c++ - 二进制搜索中 mid=(beg+end)/2 和 mid=beg+(end-beg)/2 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20998982/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com