Шестнадцатеричные и восьмеричные числа концептуально работают с использованием повторяющегося деления и остатка.
Для двоичного преобразования я попробовал использовать массив размером 8 для хранения битов:
Код: Выделить всё
int binary_num[] = {0,2,4,8,16,32,64,128};
Код: Выделить всё
error: invalid operands of types 'int' and 'int\[8\]' to binary 'operator/'
error: invalid operands of types 'int' and 'int\[8\]' to binary 'operator%'
Код: Выделить всё
else if (decimal_input < binary_num[0]) {
result = decimal_input / binary_num;
decimal_input = decimal_input % binary_num;
cout
Подробнее здесь: [url]https://stackoverflow.com/questions/79893407/c-invalid-operands-when-trying-to-use-array-in-decimal-to-binary-conversion[/url]
Мобильная версия