Ruby 鲁比:为什么这个二进制文件中有字母?
我试图理解一些代码示例。我有这样的表达方式Ruby 鲁比:为什么这个二进制文件中有字母?,ruby,binary,Ruby,Binary,我试图理解一些代码示例。我有这样的表达方式 exit_status |= 0b0010 exit_status |= 0b0001 我到这里来翻译二进制文件: 然后得到0b0010是2和0b0001是1 我知道0010是2而0001是1,我的问题是。。。为什么有一个类似于0b的前缀,它是什么意思或者它是如何工作的?否则这个数字不会被解释为基数2 更多信息: 0b:前缀二进制数;示例:0b011(3位小数) 0:前缀八进制数;示例:010(8位小数) 0x:前缀十六进制数;示例:0x10(16位
exit_status |= 0b0010
exit_status |= 0b0001
我到这里来翻译二进制文件:
然后得到0b0010
是2
和0b0001
是1
我知道0010
是2
而0001
是1,我的问题是。。。为什么有一个类似于0b
的前缀,它是什么意思或者它是如何工作的?否则这个数字不会被解释为基数2
更多信息:- 0b:前缀二进制数;示例:0b011(3位小数)
- 0:前缀八进制数;示例:010(8位小数)
- 0x:前缀十六进制数;示例:0x10(16位小数)
0b
是表示将以下数字解释为二进制数字的前缀,就像0x
前缀表示以下数字为十六进制,例如,0xffff
。有关更多信息,请参见。该0b
是一个文本,以二进制表示形式将值指定为数字。这就像0xFF4ABD
中的0x
将其指定为十六进制数一样
这是因为数字可以在多个系统中表示。关于数字的表示方式,存在多种系统,如十进制数字系统1234
,或罗马数字系统MCXIVII
。二进制数和十六进制数只是这些系统中的两个
注意:如果要键入
1234
,Ruby会将其解释为十进制数。例如,如果要将其键入为01234
,如果要将多个数字统一格式化(所有数字长度相同),则会将其解释为八进制数字 它是用来表示基地的。不同的数字可以表示不同的数字。10代表10在底座10中,2在底座2中,16在底座16中。