2008-09-19 65 views
19

大多数语言(包含Ruby)允许数字文字至少在三个基地写入:十进制,八进制和十六进制。十进制数字是通常的事情,写作(大多数)人自然写数字,96写为96。以0为前缀的数字通常被解释为基于八进制:96将被写为0140。基于十六进制的数字通常以0x为前缀:96将写为0x60如何在ruby中编写二进制文字?

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

回答

9

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

0b100 #=> 4 

要知道,同样存在着格式字符串:

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

,你可以这样做:

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