回答
the_number.to_s(2).split('').map { |x| x.to_i }
#轉換爲數字的二進制數組
解釋爲什麼這是正確的答案。如果OP也從中學習,提供正確的答案會有更多的幫助。 – 2013-02-24 18:10:33
我明白了這一點。可以將字符串映射到字符串中,然後對每個字符將其轉換爲int。 – 2013-02-24 19:34:39
@BrianA你的意思是the_number.to_s(2).to_i? – 2013-02-25 01:04:44
簡單的整數在幾乎所有主要的編程語言(包括Ruby)中都以二進制形式存儲。所以,你可以做的整數自己的位操作:
>> 6 | 5 # bitwise or
=> 7
>> 6 & 5 # bitwise and
=> 4
>> 6^5 # bitwise xor
=> 3
>> 6 >> 2 # right shift
=> 1
>> 6 << 2 # left shift
=> 24
(編輯:這似乎是我1000年日答案。)
*一切*都是二進制的。唯一的區別在於文字表示。在計算機中,不存在十進制或十六進制數字。只有二進制。 – Linuxios 2013-02-24 17:46:20
好吧,有一些庫或語言具有真正的「十進制」類型,實際上可能會使用不同的內部表示(通常是爲了避免與傳統的浮點表示相關的問題)。然而,普通的「整數」類型在內部幾乎總是二進制的。 – nneonneo 2013-02-24 17:50:58
(是的,我意識到任何表示都可以歸結爲最低級別的二進制;) – nneonneo 2013-02-24 17:51:58