判断符号整数和无符号整数的方法

//有符号整数>>操作,符号位不变
#define _is_sign_int(x)  ((((x) >> 1) & 0x80000000) ?  1 : 0)
#define is_sign_int(x) (((x) > 0) ? _is_sign_int(0 - (x)) : (((x) == 0) ? _is_sign_int((x) - 1) : _is_sign_int(x)))

 

is_sign_int()返回1为有符号数,0为无符号数

 

 

//无符号整数取反还是无符号整数

#define is_unsign_int(x)  (((x) >= 0) && (~(x) >= 0))

is_unsign_int()返回0为有符号数,1为无符号数

 

谁有好的方法,请补充(请注明原理)  :)

 

阅读更多
换一批

没有更多推荐了,返回首页