# Convert an Integer to a Binary Representation

Here is a quick way to convert any integer `n` into a string that represents the `n` integer in binary notation:

```def dec_to_bin(n, bits=32):
return ''.join([str((n &gt;&gt; y) &amp; 1) for y in range(bits - 1, -1, -1)])
```

What's going on in the above code? This can be better explained if we read the `return` line in the `dec_to_bin` function backwards. First we create a list of integers from 31 to 0 in order to iterate through it. This list is created with the built-in `range` function and it uses the number of bits that we passed into the function, with a default being 32. Next, we iterate through the list with each number being represented by `y`. Then we take the number parameter `n`, which is the number we want to transform to binary, and we shift its bits to the right by `y` places. Then we apply a bitwise `and` operation on the result of that right shift and the literal value of 1. This `and` operation tells us if the bit at location `y` is turned on or off. We then make a string out of the value and append it to the string that we are building to return to the user. This is a perfect example of Python's conciseness and the power of list comprehensions.

You can use the code above like so:

```>>> print dec_to_bin(255)
00000000000000000000000011111111
```

Enjoy!