Ruby:为什么这个二进制文件中有一个字母?

时间:2013-02-04 19:48:12

标签: ruby binary

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

exit_status |= 0b0010
exit_status |= 0b0001

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

并确保0b001020b00011

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

4 个答案:

答案 0 :(得分:3)

答案 1 :(得分:3)

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

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

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

答案 2 :(得分:2)

  • 0b:前缀二进制数;例如:0b011(3位小数)
  • 0:前缀八进制数;例如:010(小数点后8位)
  • 0x:前缀十六进制数;例如:0x10(十进制16)

答案 3 :(得分:1)

0b是前缀,表示将以下数字解释为二进制数字,如0x前缀表示以下数字为十六进制,例如0xffff。有关更多信息,请参阅here