我想爲某些對等人做演示,我想強制IRB以二進制形式返回值。有沒有辦法強制紅寶石以二進制的形式輸出結果
例如,它目前正在返回結果以10爲基數無論哪個基地的輸入是:
0b1111
# => 15 #should return 1111 or 0b1111
0b0001 | 0b0011
# => 3 #should return 0011 or 0b0011
有沒有辦法迫使這個結果?我想演示按位運算符,並且他們更容易理解是否他們看到位流動而不是基數10的數字被返回,我必須在之後轉換爲基數2。
另外我想所有的結果都是4位的倍數。如果可能,用下劃線或空格分隔半字節分組。
例如:
0b0001_0101
# => 0b0001_0101 #or 0b0001 0101, or 0001 0101, or 0001_0101
如果我導致不需要由4位(例如3,11)墊它被表示爲4,8,16個在長度取決於數量的比特。
謝謝,我剛剛編輯它,並意外破壞了它的過程。讓我試着解決它。 –
@randynewfield現在應該工作。這只是一個錯字,但有點煩人的調試,因爲'inspect'方法的錯誤是沉默的。 –
工作得很好,唯一的問題是,如果設置了第四位,則會增加4個未設置的位。例如:'0b1000 => 0b0000_1000'雖然我猜這是宜居的。你以前定義二進制寬度的方法是否可以解決這個問題,而不是試圖動態計算它? –