5位有符号整数?

时间:2012-01-23 09:49:20

标签: ruby bit-manipulation bitwise-operators

我仍在努力使用Ruby的按位运算符。

得到值11100(基数为10的28)(来自比特流),我希望将其视为-4,即5比特的有符号整数。

你会怎么做?

我知道泛型伪算法说: -X =“/ X + 1”即:得到X的反面,首先翻转X的位,然后递增1.但是在这里我被卡住了!

1 个答案:

答案 0 :(得分:2)

Iff最左边的位是1,那么它是负数。

所以拿你的28并减去32(2 ^ 5)得到-4。

但是-2将是11110