使用轮班确定int的符号?

时间:2013-09-28 19:59:06

标签: c bit signed bits

这是问题

  • sign - 如果为正则返回1,如果为零则返回0,如果为负则返回-1
  • 法律视角:! 〜& ^ | +<< >>
  • Max ops:10
  • 评分:2

我想到31向右移动以获取符号位但技术上不能为0且为负数?

1 个答案:

答案 0 :(得分:2)

您可以尝试使用此32 bit int: -

(x >> 31) | (((~x + 1) >> 31) & 1)