From: "Marcel Molina Jr." Date: 2005-11-23T07:35:54+09:00 Subject: Re: How convert an integer to a bit array On Wed, Nov 23, 2005 at 07:31:02AM +0900, James Edward Gray II wrote: > On Nov 22, 2005, at 4:23 PM, Curt Hibbs wrote: > > >Does anyone have a clever way to convert an integer to an array of bit > >values? > > > >For example (using 8 bit integers): > > > >0 => [0, 0, 0, 0, 0, 0, 0, 0] > >1 => [0, 0, 0, 0, 0, 0, 0, 1] > >2 => [0, 0, 0, 0, 0, 0, 1, 0] > >7 => [0, 0, 0, 0, 0, 1, 1, 1] > >etc. > > > >I was looking at Array#pack and Array#unpack to do this, but > >haven't figured > >it out yet. It just seems like there ought to be a simple way to do > >this. > > > >Anybody got a clever idea? > > Does this help? > > >> ("%b" % 5).split("").map { |n| n.to_i } > => [1, 0, 1] An alternative to ('%b' % n) is n.to_s(2) marcel -- Marcel Molina Jr.