Chinaunix
标题:
大家看看:怎么用异或和左移或者右移实现求绝对值
[打印本页]
作者:
paul-luo
时间:
2006-06-30 10:53
标题:
大家看看:怎么用异或和左移或者右移实现求绝对值
怎么用异或和左移或者右移实现求绝对值
作者:
isnowran
时间:
2006-07-02 02:08
int abs( int i )
{
int bit = 1 << sizeof( i ) - 1;
if( i != ( i | bit ) )
i = ~i + 1;
return i;
}
复制代码
[
本帖最后由 isnowran 于 2006-7-2 22:44 编辑
]
作者:
yg
时间:
2006-07-02 20:34
差了一些吧
作者:
fedoracore4
时间:
2006-07-03 08:14
int abs(int x)
{
if ((x>>7) == 1)
return ~x + 1;
else
return x;
}
这个是我写的,不知道还有没有更高效的,请大家指点
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2