数値を2進数で整形して表示する
数値を2進数で整形して表示するには、Kernel.#print
にフォーマット%b
を渡すと良い。以下は数値の下位1バイトを2進数で整形して表示する例である。
printf("%08b\n", 1986 & 0b11111111) #=> 11000010
フォーマット%08b
は数値を2進数で8桁で0パディングして整形するという意味である。また下位1バイトを表示するため0b11111111
と&
を取っている。
もし整形して表示するのではなく、文字列を得たいのであれば、Kernel.#sprintf
を利用すると良い。以下は数値を2進数で整形した文字列を得る例である。
p sprintf("%08b", 1986 & 0b11111111) #=> "11000010"