免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: yangfan876
打印 上一主题 下一主题

[C] 求助,这个代码是什么意思? [复制链接]

论坛徽章:
5
技术图书徽章
日期:2013-08-17 07:26:49双子座
日期:2013-09-15 16:46:29双子座
日期:2013-09-25 08:17:09技术图书徽章
日期:2013-09-25 09:11:42天秤座
日期:2013-10-01 16:25:34
11 [报告]
发表于 2013-05-03 23:31 |只看该作者
/*mid = (first+last)/2;*/ /*注意防止溢出*/
/*mid = first/2 + last/2;*/
/*mid = ((first & last) + (first ^ last) >> 1);*/
mid = ((first & last) + ((first ^ last) >> 1));    /*修正上一句优先级错误*/

我是第一次见到有人写程序 仿止溢出

论坛徽章:
0
12 [报告]
发表于 2013-05-03 23:38 |只看该作者
呃~这个问题焦点只是那几句判断mid的值的问题,大家~~呃~呵呵~没有必要为这个伤和气~呵呵

论坛徽章:
0
13 [报告]
发表于 2013-05-04 13:46 |只看该作者
本帖最后由 Frahm 于 2013-05-04 13:52 编辑

first + last =>  (first & last)<<1 + ((first ^ last))
(first + last)>>1 => (first & last) + ((first ^ last)>>1)

first&last是得到进位的位,first ^ last是不考虑进位的相加值,剩下的就很明显了

论坛徽章:
0
14 [报告]
发表于 2013-11-18 17:12 |只看该作者
                                       

论坛徽章:
7
摩羯座
日期:2013-12-05 10:42:57辰龙
日期:2013-12-27 13:40:49亥猪
日期:2014-01-15 09:10:37天秤座
日期:2014-01-20 11:22:20辰龙
日期:2014-01-26 17:02:25午马
日期:2014-01-27 14:22:34水瓶座
日期:2014-02-19 09:36:40
15 [报告]
发表于 2013-11-19 21:57 |只看该作者
有意思吗,动不动就骂人。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP