Формально перевод десятичного числа D в двоичное B делается так:
Исходное число делится с остатком на 2 при этом частное запоминаем для дальнейших операций, а остаток записываем в младший бит двоичного числа. Затем частное снова делится на 2 и остаток записывается в следующий разряд И так до тех пор, пока не получится такой результат - частное равно 0 а остаток равен 1.
Разберем пример с десятичным числом 2001
2001/2=1000 ост 1 <em>(1й остаток младший разряд (крайний справа))</em>
1000/2=500 ост 0
500/2=250 ост 0
250/2=125 ост 0
125/2=62 ост 1
62/2=31 ост 0
31/2=15 ост 1
15/2=7 ост 1
7/2=3 ост 1
3/2=1 ост 1
1/2=0 ост 1 <em>(Старший разряд (крайний слева))</em>
Теперь "Вписываем" остатки, в разряды двоичного числа, начиная с 1-го младшего:
11111010001
Т.е.
Аналогично переводим десятичное 10
10/2=5 ост 0
5/2=2 ост 1
2/2=1 ост 0
1/2=0 ост 1
И 21 десятичное
21/2=10 ост 1
10/2=5 ост 0
5/2=2 ост 1
2/2=1 ост 0
1/2=0 ост 1
ИТОГО Получится этакое ЧУДО, когда все соберем
P.S. Можно проверить калькулятором. Стандарный WINDOWS калькулятор может переводить из одной системы счисления в другую.