我正在尝试理解一些代码示例。我得到这样的表达......
exit_status |= 0b0010
exit_status |= 0b0001
我到这里翻译二进制文件:http://home.paulschou.net/tools/xlate/
并确保0b0010
为2
且0b0001
为1
我知道0010
是2
且0001
是1,我的问题是......为什么有点像0b
前缀,它是什么意思或者它是如何运作的?
答案 0 :(得分:3)
0b
is simply an indication of a binary literal.否则该数字不会被解释为基数2.
更多:http://www.ruby-doc.org/docs/ProgrammingRuby/html/language.html#UC
答案 1 :(得分:3)
0b
是一个文字,将值指定为二进制表示中的数字。这就像0x
中0xFF4ABD
将其指定为十六进制数字一样。
这是因为数字可以在多个系统中表达。存在多个如何表示数字的系统,如十进制数字系统1234
或罗马数字系统MCXIVII
。二进制和十六进制数字只是这些系统中的两个。
注意:如果您要键入1234
,Ruby会将其解释为十进制数字。例如,如果您要将其键入为01234
,如果您想要将多个数字格式化为一致(所有数字相同的长度),则会将其解释为八进制数字!
答案 2 :(得分:2)
答案 3 :(得分:1)
0b
是前缀,表示将以下数字解释为二进制数字,如0x
前缀表示以下数字为十六进制,例如0xffff
。有关更多信息,请参阅here。