5 位有符号整数?
我仍然在使用 Ruby 处理按位运算符。
获取值 11100(以 10 为基数的 28)(从比特流),我希望将其视为 -4,即 5 位有符号整数。
你将如何进行?
我知道通用伪算法说: -X = "/X +1" 即:要得到 X 的相反数,首先翻转 X 的位,然后递增 1。但在这里我被卡住了!
I am still struggling with bitwise operators using Ruby.
Getting a value 11100 (28 in base 10) (from a bitstream), I'd like to see it as -4, that is signed integer on 5 bits.
How would you proceed ?
I know the generic pseudo-algorithm says :
-X = "/X +1" ie : to get the opposite of X, first flip bits of X, then increment by 1. But here I am stucked !
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果最左边的位是 1,则它是负数。
因此,用 28 减去 32 (2^5) 得到 -4。
但是 -2 就是 11110
Iff the left most bit is a 1 then it is negative number.
So take your 28 and subtract 32 (2^5) to get -4.
But -2 would be 11110