gpt4 book ai didi

c++ - 为什么我总是必须除以 49 才能得到二进制转换器 + cout 歧义的正确答案?

转载 作者:行者123 更新时间:2023-11-30 00:51:31 26 4
gpt4 key购买 nike

<分区>

我最近开始学习C++,很抱歉,如果我犯了一个愚蠢的错误......为什么我必须除以49才能得到正确答案?例如。如果我输入 "1111" 那么答案是 735 而不是 15。

所有数字都会发生这种情况,例如如果我输入 "10" 那么答案是 98 而不是 2。另外为什么我的 cout 显示不明确的值?我使用的是 Visual Studio 2013。(请注意除以 49 发生在最后一行)

void binaryToDecimal() {
string number = getNumber();
int sum = 0;
int factor = 1;
for (int i = number.length() - 1; i >= 0; i--) {
if (number.at(i) != '0' && number.at(i) != '1') {
cout << "Number is not in binary form" << endl;
system("pause");
exit(1);
}
if (number.at(i) == '1') {
sum += number.at(i) * factor;
}
factor *= 2;
}
cout << "\'" << number << "\' in binary is \'" << sum / 49 << "\'" << endl;
}

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com