题
大多数语言(包括 Ruby)允许以至少三种基数编写数字文字:十进制、八进制和十六进制。十进制数字是很常见的,并且被写成(大多数)人自然地写数字,96 写成 96
. 。以零为前缀的数字通常被解释为基于八进制:96 可以写成 0140
. 。基于十六进制的数字通常带有前缀 0x
:96 可以写成 0x60
.
问题是:我可以在 Ruby 中将数字写为二进制文字吗?如何?
解决方案
使用 0b 前缀
>> 0b100
=> 4
其他提示
你可以这样做:
>> easy_to_read_binary = 0b1110_0000_0000_0000
=> 57344
>> easy_to_read_binary.to_s(10)
=> "57344"
对于文字,前缀是 0b。所以
0b100 #=> 4
请注意,格式化字符串也存在同样的情况:
"%b" % 4 #=> "100"
不隶属于 StackOverflow