我想將二進制數轉換爲十進制。我的代碼片段:我怎樣才能獲得char值轉換爲int?
int main(){
string count;
char number;
int counter;
int score = 0;
cout << "Wpisz liczbę w systemie binarnym" << endl;
cin >> count;
count << endl;
counter = count.length();
for (int i = 0; i < counter; i++)
{
number = count[i];
int aaa = (int) number - '0' // is that correct ? I think not.
score = aaa * pow(2,i) + score;
}
count <<wynik;
return 0;
}
但我PROGRAMM給人很奇怪的分數,例如:
輸入:100(十進制8) 輸出:1
輸入1000(十進制16) 輸出: 1
我不知道爲什麼。你可以幫我嗎 ?我認爲,那是char的問題?我真的嗎?
感謝,
對不起,我Englosh
你應該爲你的縮進道歉太:-) – 2013-05-01 17:16:01
這是非常有趣的:) – TN888 2013-05-01 17:18:23
字符串'中的第一個字符「100」''是'1'',所以先分配給'wynik'在該循環是'1 * pow(2,0)+ 0'。 – dyp 2013-05-01 17:18:37