Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: st: Re: Decomposing integers
From
Nick Cox <[email protected]>
To
[email protected]
Subject
Re: st: Re: Decomposing integers
Date
Thu, 19 Jul 2012 14:08:45 +0100
You said you wanted a local macro. Look at -inbase- for binary representations.
Nick
On Thu, Jul 19, 2012 at 1:48 PM, Nick Cox <[email protected]> wrote:
> clear
> set obs 100
> gen y = _n
> gen Y = mod(y, 32)
> egen bin = base(Y)
> gen wanted = reverse(bin) + string(floor(y/32))
>
> . l if y == 22 | y == 65
>
> +--------------------------+
> | y Y bin wanted |
> |--------------------------|
> 22. | 22 22 10110 011010 |
> 65. | 65 1 00001 100002 |
> +--------------------------+
>
> The extra -egen- function here is -base()- from -egenmore- (SSC).
>
> Nick
>
> On Thu, Jul 19, 2012 at 1:00 PM, A Loumiotis
> <[email protected]> wrote:
>> The last local should contain 1 0 0 0 0 2.
>>
>> On Thu, Jul 19, 2012 at 2:54 PM, A Loumiotis
>> <[email protected]> wrote:
>>> Hi,
>>>
>>> I have integer numbers of the following form:
>>>
>>> X=Sum[i=0/4](a[i]2^i)+(a[5]*2^5)
>>>
>>> where a[i] equals either 0 or 1 if i=0/4 and a[5] equals to any
>>> positive integer or 0.
>>>
>>> Given this construction I would like to find the unique combinations
>>> of a[i]'s that generated X.
>>>
>>> For example:
>>>
>>> X=22 was generated using a[1]=1, a[2]=1 and a[4]=1.
>>> So I would like to construct a local that contains the following list
>>> 0 1 1 0 1 0
>>>
>>> X=65 was generated using a[0]=1 and a[5]=2
>>> So in this case the local should contain 1 0 0 0 0 1
>>>
>>> Is this possible?
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/