Я просто в шоке, почему тут всё так сложно
Достаточно первое число сделать первым элементом массива, а остатки от деления записывать в следующие элементы. И так до тех пор, пока остаток не станет меньше основания системы счисления. И это верно не только для двоичных, а для всех позиционных систем счисления. Если есть дробная часть, то её переводить отдельно.
Алгоритм:
1)Делим нужное число на основание
2) Делим остаток 1 на основание..
3)Делим остаток 2 на основание..
....
N)Остаток N< основания - записываем число снизу вверх
Вот пример реализации на JS: https://tvoyapecarnya.ru/informaics/sistemy-ischisleniya/pozitsionnyesistemyschisleniya/dvoichnaya-sistema-ischisleniya/kak-perevodit-v-dvoichnuyu-sistemu
Чтобы перевести из любой сс в десятичную надо воспользоваться степенным рядом, либо таблицей тетрад и триад для 8 и 16й сс.