Да ну. Уже устаканилась четкая тройка: Angular, React, Vue.
а если нечетное, то остаток - среднее число, которое вроде как можно получить разделив N на 2.
Например есть задача: Реализуйте алгоритм перемешивания списка. Без функции shuffle из модуля random
Например 1111 = F, 0000 = 0. Из двоичной в шестнадцатеричную. Далее по этому шаблону можо делая текстовые замены все перевести. Этот метод удобно использовать когда например нечто приходит из текстового ввода пользователя.
Восьмеричка например используется в Линуксе когда задаешь права доступа. Семь семерок 777 - это 3 тройки
по 3 включенных бита. Что означает +rwx права на юзера, группу и прочих.
Десятичная система - здесь самая неудобная. Но если любое дестичное число уже записано в регистр процессора - то она уже разложена по битам. И чтоб распечатать ее битовое представление - можно просто сдвигать регистр и печатать старший бит.
Псевдокод наподобие С++
В более обобщенном случае есть универсальная функция с аргументом *radix. Я ее встречал в разных языках разработки. Она позволяет переводить из любого символьного представления строки в целое при жестко
заданном алфавите букв ASCII и в диапазоне радикса.
Вот число 135 в двоичке.
И в троичной системе
B 36 ричной системе
Дальше эта функция не работает потому что сложнее определить нужный алфавит букв.
Вся эта байда работае только для позиционных систем. Например Вавилонская где 60 разрядов может иметь вес в 60 раз больше для каждого следующего разряда. Для двоичной соотв - только в 2 раза.
Есть другие системы. Римская например. Для них эти алгоритмы не работают. Там как-то хитрее надо счиать потому что положение символа в Римской системе вляет на его вес по другому. И больше запутанных правил. Складывать сложнее.