[bo][un]w0nfer[/un] 在 2008-9-27 10:47 的发言:[/bo]
a=a&(((unsigned long)(~0))>>1);请说明下啥含义啊,小弟看不明白,谢谢了
((unsigned long)(~0))>>1 是2的31此方-1;
二进制是:
01111111111111111111111111111111
再&a
&
1...............................
a为负数
=
0...............................
01111111111111111111111111111111
再&a
&
0...............................
a为正数
=
0...............................
这样就是二进制取绝对值