#include
#include
void printBinarySteps(int n) {
std::stack binaryStack;
int originalNumber = n;
std::cout << "Перевод числа " << n << " из десятичной системы в двоичную:" << std::endl;
std::cout << "-------------------------------------------" << std::endl;
while (n > 0) {
int remainder = n % 2;
binaryStack.push(remainder);
std::cout << n << " / 2 = " << n / 2 << " остаток " << remainder << std::endl;
n /= 2;
}
std::cout << "-------------------------------------------" << std::endl;
std::cout << "Двоичное представление числа " << originalNumber << " : ";
while (!binaryStack.empty()) {
std::cout << binaryStack.top();
binaryStack.pop();
}
std::cout << std::endl;
}
int main() {
int decimalNumber;
std::cout << "Введите число в десятичной системе: ";
std::cin >> decimalNumber;
printBinarySteps(decimalNumber);
return 0;
}
#include
#include // Для использования std::bitset
int main() {
unsigned int decimalNumber;
std::cout << "Введите десятичное число: ";
std::cin >> decimalNumber;
// Перевод числа в двоичную систему счисления с помощью битовой операции
std::cout << "Двоичное представление числа: ";
for (unsigned int i = 0x80000000; i > 0; i >>= 1) {
if (decimalNumber & i) {
std::cout << "1";
} else {
std::cout << "0";
}
if ((i & 0xFFFF) == 0) {
std::cout << std::endl;
}
}
return 0;
}
Выше код
В идеале, чтобы оно прям и столбики отрисовывало