5 位有符号整数?

发布于 2024-12-28 05:48:40 字数 177 浏览 0 评论 0原文

我仍然在使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

匿名。 2025-01-04 05:48:40

如果最左边的位是 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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文