2008-09-19 7 views
19

Die meisten Sprachen (inkl. Ruby) ermöglichen die Eingabe von Zahlenliteralen in mindestens drei Basen: Dezimal, Oktal und Hexadezimal. Zahlen in dezimaler Basis sind das Übliche und werden geschrieben als (die meisten) Menschen natürlich Zahlen schreiben, 96 wird als 96 geschrieben. Zahlen, denen eine Null vorangestellt ist, werden normalerweise als oktalbasiert interpretiert: 96 würde als 0140 geschrieben werden. Hexadezimalzahlen basieren normalerweise auf 0x: 96 würde als 0x60 geschrieben werden.Wie schreibt man ein binäres Literal in Ruby?

Die Frage ist: Kann ich Zahlen als Binärliterale in Ruby schreiben? Wie?

Antwort

40

Verwendung 0B prefix

>> 0b100 
=> 4 
9

Für Literale, ist das Präfix 0B. So

0b100 #=> 4 

Beachten Sie, dass das gleiche Format-Strings vorhanden:

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

und Sie tun können:

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