我们如何用ruby编写二进制文字?

时间:2020-03-06 14:25:44  来源:igfitidea点击:

大多数语言(包括Ruby)都允许数字文字至少以三个基数编写:十进制,八进制和十六进制。以十进制为基的数字是很常见的事情,并且(大多数)人自然会写数字,而96则写为" 96"。前缀为零的数字通常被解释为基于八进制的数字:96将被写为" 0140"。基于十六进制的数字通常以" 0x"作为前缀:96将被写为" 0x60"。

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

解决方案

从本手册

0b01011

二进制整数

使用0b前缀

>> 0b100
=> 4

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

0b100 #=> 4

请注意,格式化字符串也存在相同的情况:

"%b" % 4 #=> "100"

我们可以执行以下操作:

>> easy_to_read_binary = 0b1110_0000_0000_0000
=> 57344
>> easy_to_read_binary.to_s(10)
=> "57344"