私はいくつかのピアについてデモを行いたいので、バイナリのみで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
Iの数に応じて長さ4、8、16ビットに4ビット(例えば3、11)パッドをすることによって表現する必要がない生じる場合。
ありがとう、私はちょうどそれを編集し、誤ってプロセスでそれを壊しました。私はそれを試してみましょう。 –
@randynewfieldは今すぐ動作するはずです。それはちょうどタイプミスですが、 'inspect'メソッドのエラーが消されるため、デバッグするのが少し面倒です。 –
4つめのビットが設定されている場合は、未設定のビットが4つ追加されます。 ex: '0b1000 => 0b0000_1000'だと思います。バイナリ幅を定義する以前の方法では、動的に計算するのではなく、これを解決できますか? –