免费注册 查看新帖 |

Chinaunix

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

不用判断语句,求两个数的最大值  关闭 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2004-10-18 14:29 |显示全部楼层

不用判断语句,求两个数的最大值

呵呵,还是用127和-128验证一下8位的情况就知道了。
请楼上的作者自己验算一下。

论坛徽章:
0
12 [报告]
发表于 2004-10-18 15:39 |显示全部楼层

不用判断语句,求两个数的最大值

楼上的,什么叫恶意越界啊?你的程序是给别人用的还是给自己玩的?不做临界测试怎么知道正确性呢?那不越界不就是自己哄着自己玩么?

论坛徽章:
0
13 [报告]
发表于 2004-10-18 17:24 |显示全部楼层

不用判断语句,求两个数的最大值

[quote]原帖由 "dysnake"]我觉得可以用指针类型的强制转换来防止溢出问题,实验了一下可以的.[/quote 发表:

呵呵,很幽默!不知道试验是怎么做的。是用0x7FFFFFFF-0x80000000么?

论坛徽章:
0
14 [报告]
发表于 2005-05-03 23:50 |显示全部楼层

不用判断语句,求两个数的最大值

原帖由 "naiver" 发表:
用位操作是可行的,如下:
int   x,  y, max;
max = x - ((x - y) & ((x - y) >;>; (sizeof(int) * 8 - 1));

溢出了

论坛徽章:
0
15 [报告]
发表于 2005-05-03 23:51 |显示全部楼层

不用判断语句,求两个数的最大值

原帖由 "bibi" 发表:
int max(int a, int b)
{
    return((a+b+abs(a-b))/2);
}

溢出了

论坛徽章:
0
16 [报告]
发表于 2005-05-03 23:53 |显示全部楼层

不用判断语句,求两个数的最大值

原帖由 "doublefox" 发表:
max(int a, int b)
{
    return((a+b)/2+abs((a-b+1)/2));
}

应该就这么简单吧!

溢出了

论坛徽章:
0
17 [报告]
发表于 2005-07-21 13:40 |显示全部楼层

不用判断语句,求两个数的最大值

不对。没考虑溢出。

论坛徽章:
0
18 [报告]
发表于 2005-07-22 11:26 |显示全部楼层

不用判断语句,求两个数的最大值

原帖由 "mik" 发表:

FH 所言甚差.....

嘿嘿,呵呵,哈哈,活活,哼哼……

论坛徽章:
0
19 [报告]
发表于 2005-07-25 09:30 |显示全部楼层

不用判断语句,求两个数的最大值

这帖越来越没“技术含量”。

论坛徽章:
0
20 [报告]
发表于 2005-07-25 11:06 |显示全部楼层

不用判断语句,求两个数的最大值

[quote]原帖由 "FH"]这帖越来越没“技术含量”。[/quote 发表:

这帖越来越没“技术含量”!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP