# Re: st: Return a specific bit from integer variable

 From Jeph Herrin To statalist@hsphsun2.harvard.edu Subject Re: st: Return a specific bit from integer variable Date Mon, 05 Oct 2009 13:17:43 -0400

```
note the extraneous line , -local bit=7-`i'-.

Jeph Herrin wrote:
```
```The trick is to reduce by half going down from the top,
keeping the remainders:

* generate an 8-bit integer *
clear all
set obs 1000
gen myvar=round(uniform()*(2^7),1)

* here's the part you need *
clonevar newvar=myvar
forv i=0/7 {
local bit=7-`i'
gen byte bit`i'=newvar-2*floor(newvar/2)
replace newvar=floor(newvar/2)
}

hth,
Jeph

Steinar Fossedal wrote:
```
```Hello again, listers!

I have imported an 8-bit integer variable where each bit represents a
flag telling me if some property of the observation is true or false.

E.g. the number 8 in binary format is 00001000, while 10 would be
00001010. Bit nr. 4 from the left tells me if a car is delivered or
not, while the second to the right tells me if it's paid or not. So 8
= car is delivered but not paid, 2 = paid but not delivered, 10 = paid
and delivered, etc.

I need to split this information into 8 dummyvariables so they can be
used to segment my data.

Does there exist a fairly smooth way to do this in Stata?

Cheers,
-Steinar
*
*   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/

```
```*
*   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/

```
```*
*   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/
```