From: Ryan Leavengood Date: 2005-11-23T07:54:11+09:00 Subject: Re: How convert an integer to a bit array On 11/22/05, 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? This way is about 4 times faster than James' version: class Integer def to_ba(size=8) a=[] (size-1).downto(0) do |i| a<