I am aware that you can keep dividing a decimal number by two, finding the remainders in the process, in order to convert the number to binary.
However, when I am working with a long decimal number such as 2147483647, is there any easier way of converting this to binary? Manually dividing this number by two repeatedly would take an entire page of long division to do, and human error is likely.
Thanks in advance.
EDIT: SOLUTION. Thanks to the help I received from joriki and pjs36 I discovered that instead of dividing by 2 I can divide by 16. Where dividing by two will give you binary as a result, dividing by 16 will give you hex as a result. This hex value can then be converted easily to binary , and is is a much shorter process that dividing by 2.
To expand on my comment: Let's say we want to convert $409$ to binary. We first need to know how many bits we'll need; we need to know the largest power of $2$ that's less than $409$. We'll also need all smaller powers of $2$, so let's write those down (they are all very easy to calculate by hand).
\begin{array}{c|c|c|c|c|c} k & 8 & 7 & 6 & 5 & 4 & 3 & 2 & 1 & 0 \\\hline 2^k &256 & 128 & 64 & 32 & 16 & 8 & 4 & 2 & 1 \end{array}
So we'll need $9$ bits. To find them, we essentially subtract the largest power of $2$ from our remainders, repeatedly (for example, $409 - 256 = 153$): \begin{align*} 409 &= 256\cdot 1 + 153 \\ 153 &= 128 \cdot 1 + 25 \\ 25 &= 16 \cdot 1 + 9 \\ 9 &= 8 \cdot 1 + 1 \\ 1 &= 1 \cdot 1 \end{align*}
Since we saw $256,\ 128,\ 16,\ 8,$ and $1$ show up in the process, we have $$409_{10} = 110011001_2.$$
Of course, for a number like yours, we would need many more powers of $2$, in general.
But! It just so happens that $2147483647 = 2^{31} - 1$, and its binary representation is literally $$2147483647_{10} = \underbrace{111\ldots 1_2}_{31\text{ times}}$$ (try smaller numbers that are one less than a power of $2$, like $7, 15, 31$, and you'll see the pattern).