Question: I have tried this way to get the binary representation in C#

```
int i = 1;
string binary = Convert.ToString(i, 2);

```

it returns a single char string "1"

i need a n digit string suppose the number is 8 n i want a 5 digit binary representation,

i need it to be "01000"

number of digits (n) is the input.

Thanks

Answer: 
You can do it by this. 

```
string str = Convert.ToString(8, 2).PadLeft(5, '0');

```

PadLeft is used to put the 0 on left of expression here we have given 5 is totol width of number. and second parament is character to put on left when number is less then 5 characters
Rolling your own, you could use something like this (not tested, but I think this should work):

```
int i = 8; // your number
int noZeros = 5;
StringBuilder sb = new StringBuilder();
while(i != 0 && noZeros > 0){
    if(i & 1 != 0){ sb.Insert(0, "1"); }
    else { sb.Insert(0, "0"); }
    i = i >> 1;
    noZeros --;
}

string binary = sb.ToString();

```

That should work for any int.