你如何在ruby中编写二进制文字?

Thi*_*ais 22 ruby binary

大多数语言(包含Ruby)允许以至少三个基数编写数字文字:十进制,八进制和十六进制.十进制数字中的数字是常见的事情,写成(大多数)人自然写数字,96写成96.以零为前缀的数字通常被解释为基于八进制:96将被写为0140.基于十六进制的数字通常以前缀为前缀0x:96将被写为0x60.

问题是:我可以在Ruby中将数字写为二进制文字吗?怎么样?

Rob*_*Rob 13

你可以这样做:

>> easy_to_read_binary = 0b1110_0000_0000_0000
=> 57344
>> easy_to_read_binary.to_s(10)
=> "57344"
Run Code Online (Sandbox Code Playgroud)


web*_*mat 12

对于文字,前缀为0b.所以

0b100 #=> 4
Run Code Online (Sandbox Code Playgroud)

请注意格式化字符串存在同样的问题:

"%b" % 4 #=> "100"
Run Code Online (Sandbox Code Playgroud)