【问题标题】:Signed integer on 5 bits?5位有符号整数?
【发布时间】:2012-02-09 02:13:32
【问题描述】:

我仍在为使用 Ruby 的位运算符而苦苦挣扎。

获取值 11100(以 10 为底的 28)(来自比特流),我希望将其视为 -4,即 5 位有符号整数。

你会怎么做?

我知道通用伪算法说: -X = "/X +1" 即:要获得 X 的反面,首先翻转 X 的位,然后递增 1。但是我在这里卡住了!

【问题讨论】:

    标签: ruby bit-manipulation bitwise-operators


    【解决方案1】:

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

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

    但 -2 将是 11110

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-07-09
      • 2012-02-11
      • 2013-09-01
      • 2015-07-14
      • 1970-01-01
      • 2020-10-30
      • 2011-04-29
      相关资源
      最近更新 更多