[cpp]
inline Int xSign(Int x) //!< 取出x的符號,x大於0返回+1,x小於0返回-1
{//! 當x等於0時,返回0;當x小於0時,由於x是int型,x>>31(算術右移)後結果為0xffffffff,即-1,而-x為0x00000001,右移31位後結果為0,
//! 因此此時返回值為-1;當x大於0時,x>>31後結果為0x00000000,即0,而-x即為補碼形式表示的負數(最高位為1),被轉換為unsigned int後,
//! 再右移31位時,符號位不會保留,最終移位結果為0x00000001,即1
return ((x >> 31) | ((Int)( (((UInt) -x)) >> 31)));
}