大きな値を書き込むと、奇妙な値が返されますが、たとえば2000を書いたときなど、数値をbianryに再変換する関数を作成しています。それは私に-1773891888の結果を与えます。デバッガでこの関数を実行すると、最後の2秒まで2進数で2000という正しい値が得られます。 ありがとうございます! C++で再帰関数を使用したバイナリ変換で奇数が返される
#include <iostream>
int Binary(int n);
int main() {
int n;
std::cin >> n;
std::cout << n << " = " << Binary(n) << std::endl;
}
int Binary(int n) {
if (n == 0)return 0;
if (n == 1)return 1;
return Binary(n/2)*10 + n % 2;
}
これは大きなコードの一部ですが、これは一部に過ぎませんが、ご希望の通り – polmonroig