私はこのコードを書きましたが、それは良いように見えましたが、出力は常に 0 でした。何が問題なのでしょうか? x数値システムから10進数に変換するコードを書いています。
#include <string>
#include <iostream>
using namespace std;
int main() {
string str;
long szam = 0, Dec, num, Base = 1, x,i=1;
cout << "the number : ";
cin >> str;
cout << "The input number system:";
cin >> x;
while (str[i] == '\0')
{
if (str[i] = 'A') { num = 10;}
else if (str[i] = 'B') { num = 11; }
else if (str[i] = 'C') { num = 12; }
else if (str[i] = 'D') { num = 13; }
else if (str[i] = 'E') { num = 14; }
else if (str[i] = 'F') { num = 15; }
else { num = str[i] - '0'; }
Dec = Dec + num * Base;
Base = Base * x;
}
cout << szam << endl;
return 0;
}
x が 10 より小さい場合は簡単ですが、10+ のシステムは数字の文字の使用のために処理できません。