【问题标题】:Ruby: why is there a letter in this binary? [closed]Ruby:为什么这个二进制文件中有一个字母? [关闭]
【发布时间】:2013-01-19 14:27:44
【问题描述】:

我正在尝试理解一些代码示例。我得到这样的表达......

exit_status |= 0b0010
exit_status |= 0b0001

我去这里翻译二进制:http://home.paulschou.net/tools/xlate/

得到0b001020b00011

我知道00102 并且0001 是1,我的问题是...为什么会有类似0b 前缀,它是什么意思或它是如何工作的?

【问题讨论】:

  • 表示基数。不同的数字可能意味着不同的数字。 10 代表以 10 为底的 10、以 2 为底的 2 和以 16 为底的 16。

标签: ruby binary


【解决方案1】:

【讨论】:

    【解决方案2】:

    0b 是一个文字,将值指定为二进制表示的数字。这就像0xFF4ABD 中的0x 将其指定为十六进制数。

    这是因为数字可以在多个系统中表示。存在多种表示数字的系统,例如十进制数字系统1234,或罗马数字系统MCXIVII。二进制和十六进制数字只是这些系统中的另外两个。

    注意:如果您输入1234,Ruby 会将其解释为十进制数。如果您将其键入为01234,例如,如果您想要统一格式化多个数字(所有数字长度相同),它将被解释为八进制数!

    【讨论】:

      【解决方案3】:
      • 0b:前缀二进制数;示例:0b011(十进制 3)
      • 0:前缀八进制数;示例:010(十进制 8)
      • 0x:前缀十六进制数;示例:0x10(十进制 16)

      【讨论】:

        【解决方案4】:

        0b 是前缀表示将后面的数字解释为二进制数字,就像 0x 前缀表示后面的数字是十六进制的一样,例如 0xffff。更多信息,请参阅here

        【讨论】:

          猜你喜欢
          • 2013-12-13
          • 1970-01-01
          • 1970-01-01
          • 2013-05-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-04-14
          相关资源
          最近更新 更多