2

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

exit_status |= 0b0010
exit_status |= 0b0001

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

并且得到那个0b00102并且0b00011

我知道那00102,那0001是 1,我的问题是......为什么有点像0b前缀,它是什么意思或它是如何工作的?

4

4 回答 4

3

0b只是二进制文字的指示。否则,该数字将不会被解释为以 2 为底。

更多:http ://www.ruby-doc.org/docs/ProgrammingRuby/html/language.html#UC

于 2013-02-04T19:49:48.320 回答
3

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

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

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

于 2013-02-04T19:54:11.490 回答
2
  • 0b:前缀二进制数;示例:0b011(十进制 3)
  • 0:前缀八进制数;示例:010(十进制数 8)
  • 0x:前缀十六进制数;示例:0x10(十进制 16)
于 2013-02-04T19:51:58.237 回答
1

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

于 2013-02-04T19:52:02.120 回答