Доброго времени суток. Не проходит задача по программированию. Подскажите что не так. Напишите программу, которая переводит целое число (возможно, отрицательное) из двоичной системы счисления в десятичную. Перед отрицательными числами ставится знак "-". #include #include using namespace std; void trans(long long int n) { int r; long int a=0, k=1; if (n<0) { cout<<'-'; n=-n; } while (n>0) { r=n%10; a+=r*k; n=n/10; k=k*2; } cout<>n; trans(n); }
В вашей программе есть несколько ошибок. Вот исправленный вариант:
#include <iostream> using namespace std; void trans(long long int n) { int r; long int a = 0, k = 1; if (n < 0) { cout << '-'; n = -n; } while (n > 0) { r = n % 10; a += r * k; n = n / 10; k *= 2; } cout << a; } int main() { long long int num; cout << "Введите целое число в двоичной системе: "; cin >> num; cout << "Число в десятичной системе: "; trans(num); return 0; }
Теперь программа должна корректно переводить целые числа из двоичной системы счисления в десятичную. Вы можете запустить этот код и проверить его работоспособность. Надеюсь, это поможет вам решить вашу задачу по программированию. Если у вас есть еще вопросы, не стесняйтесь задавать.
В вашей программе есть несколько ошибок. Вот исправленный вариант:
#include <iostream>using namespace std;
void trans(long long int n) {
int r;
long int a = 0, k = 1;
if (n < 0) {
cout << '-';
n = -n;
}
while (n > 0) {
r = n % 10;
a += r * k;
n = n / 10;
k *= 2;
}
cout << a;
}
int main() {
long long int num;
cout << "Введите целое число в двоичной системе: ";
cin >> num;
cout << "Число в десятичной системе: ";
trans(num);
return 0;
}
Теперь программа должна корректно переводить целые числа из двоичной системы счисления в десятичную. Вы можете запустить этот код и проверить его работоспособность. Надеюсь, это поможет вам решить вашу задачу по программированию. Если у вас есть еще вопросы, не стесняйтесь задавать.