我试图理解一些代码示例。我得到这样的表达...
exit_status |= 0b0010
exit_status |= 0b0001
我去这里翻译二进制文件:http: //home.paulschou.net/tools/xlate/
并且得到那个0b0010
是2
并且0b0001
是1
我知道那0010
是2
,那0001
是 1,我的问题是......为什么有点像0b
前缀,它是什么意思或它是如何工作的?
我试图理解一些代码示例。我得到这样的表达...
exit_status |= 0b0010
exit_status |= 0b0001
我去这里翻译二进制文件:http: //home.paulschou.net/tools/xlate/
并且得到那个0b0010
是2
并且0b0001
是1
我知道那0010
是2
,那0001
是 1,我的问题是......为什么有点像0b
前缀,它是什么意思或它是如何工作的?
0b
只是二进制文字的指示。否则,该数字将不会被解释为以 2 为底。
更多:http ://www.ruby-doc.org/docs/ProgrammingRuby/html/language.html#UC
这0b
是一个文字,将值指定为二进制表示的数字。这就像0x
in0xFF4ABD
将其指定为十六进制数一样。
这是因为数字可以在多个系统中表示。存在多种表示数字的系统,例如十进制数字系统1234
或罗马数字系统MCXIVII
。二进制和十六进制数字只是这些系统中的另外两个。
注意:如果您要键入1234
,Ruby 会将其解释为十进制数。例如,如果您将其键入为01234
,如果您想将多个数字统一格式化(所有数字长度相同),它将被解释为八进制数!
0b
是表示将后面的数字解释为二进制数字的前缀,就像0x
前缀表示后面的数字是十六进制的一样,例如0xffff
. 有关更多信息,请参见此处。