首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

面试题:怎么用一个表达式求绝对值

2013-01-28 
面试题:如何用一个表达式求绝对值?要求不适用if, switch 和 ?: 等判断语句。[解决办法]#define ABS(x) (((x

面试题:如何用一个表达式求绝对值?
要求不适用if, switch 和 ?: 等判断语句。
[解决办法]
#define ABS(x) (((x) >> 31) ^ (x)) - ((x) >> 31)

[解决办法]
这个面试有点偏啊!
整数的绝对值.
[code]
#define ABS(v) ((v) - ((v) >> sizeof(int) * CHAR_BIT - 1)) \
    -((v) >> sizeof(int) * CHAR_BIT - 1)
[/code]

热点排行