From: Roland Mai Date: 2007-01-24T00:42:10+09:00 Subject: Re: how to translate base 10 number into base 2 number ------=_Part_194999_26498146.1169566928547 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline I wonder why there isn't support for negative radix; even though the solutions might not be unique... who cares? On 1/17/07, chen li wrote: > > > --- "Eric I." wrote: > > > Hi Li, > > > > First, here's a solution: > > > > def ten_to_two(num1) > > return [] if num1 <= 0 > > first,second=num1.divmod(2) > > ten_to_two(first) << second > > end > > > > And note that you can change the << into a call to > > unshift if you want > > the bits in the reverse order. > > > > As for why your solution didn't work, let me offer > > two things. First, > > you never do anything with the result of your > > recursive call to > > ten_to_two. Somehow you need to combine it with the > > partial result you > > calculated immediately beforehand. Second, you're > > using instance > > variables (tagged with the @). That's generally > > done in methods > > defined within a class to hold the state of the > > instance. For a > > "naked" method, you generally stick to local > > variables (no @). > > > > Eric > > > Hi Eric, > > Thanks for the explanations. It helps me out. > > Li > > > > > ____________________________________________________________________________________ > Get your own web address. > Have a HUGE year through Yahoo! Small Business. > http://smallbusiness.yahoo.com/domains/?p=BESTDEAL > > ------=_Part_194999_26498146.1169566928547--