y代表符号位,正数是0,负数是-1,(-1用补码表示所有位都是1)
int abs( int x ) {
int y ;
y = x > > 31 ;
return (x^y)-y ;//or: (x+y)^y
}
y代表符号位,正数是0,负数是-1,(-1用补码表示所有位都是1)
int abs( int x ) {
int y ;
y = x > > 31 ;
return (x^y)-y ;//or: (x+y)^y
}