Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Напишите пж программу на си++

Сергей Ермолаев Гуру (2619), на голосовании 5 месяцев назад
Нужна программа для перевода из десятичной системы в двоичную.
В идеале, чтобы оно прям и столбики отрисовывало
Дополнен 6 месяцев назад
СПАСИБО!!!!!!!!!!
Голосование за лучший ответ
Татьяна Просветленный (36384) 6 месяцев назад
 #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;
}

Эта программа выполняет следующие шаги:

Пользователь вводит число в десятичной системе.
Программа делит число на 2, записывая остаток в стек.
Процесс деления продолжается до тех пор, пока число не станет равным нулю.
Остатки извлекаются из стека для формирования двоичного представления числа.
Каждый шаг деления выводится на экран для наглядного отображения процесса.
Евгений Платонов Мастер (1605) 6 месяцев назад
#include <iostream>
#include <stack>

using namespace std;

// Функция для перевода числа из десятичной в двоичную систему
stack<int> decimalToBinary(int decimalNumber) {
stack<int> binaryStack;

while (decimalNumber > 0) {
int remainder = decimalNumber % 2;
binaryStack.push(remainder);
decimalNumber /= 2;
}

return binaryStack;
}

// Функция для отрисовки столбиков двоичного числа
void drawBinaryColumns(stack<int> binaryStack) {
while (!binaryStack.empty()) {
cout << binaryStack.top ();
binaryStack.pop();
cout << endl;
}
}

int main() {
int decimalNumber;
cout << "Введите десятичное число: ";
cin >> decimalNumber;

stack<int> binaryStack = decimalToBinary(decimalNumber);

cout << "Число в двоичной системе счисления:" << endl;
drawBinaryColumns(binaryStack);

return 0;
}
Konstantin Zhizhilkin Профи (625) 6 месяцев назад
 #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;
}

Выше код
Похожие вопросы