Этот код:
#include <iostream>
#include <string>
using namespace std;
int main(int argc, char** argv)
{
string numberStr = argv[1];
int nr = std::stoi(numberStr);
int newNr = 0;
while (nr != 0)
{
newNr = newNr << 1;
if ((nr & 0x1) == 1)
{
newNr |= 0x1;
}
else
{
newNr |= 0x0;
}
nr = nr >> 1;
}
cout << newNr << endl;
return 0;
}
Видимо, дает мне Ошибка времени выполнения в проблеме "Обратные двоичные числа". Ссылка: https://open.kattis.com/problems/reversebinary
Программа работает с примерами ввода, и я также пытался использовать другие числа и сам подсчитал двоичный файл. Все кажется правильным и, конечно, я использовал программу через CMD, и она проверяется.
Вопрос в том, почему она становится «Ошибка времени выполнения»?