我正在尝试从文件中读取数据in.txt
,经过一些计算,我将输出写入out.txt
为什么末尾有一个额外的7 out.txt
?
课堂内容Solution
。
class Solution
{
public:
int findComplement(int num)
{
int powerof2 = 2, temp = num;
/*
get number of bits corresponding to the number, and
find the smallest power of 2 greater than the number.
*/
while (temp >> 1)
{
temp >>= 1;
powerof2 <<= 1;
}
// subtract the number from powerof2 -1
return powerof2 - 1 - num;
}
};
功能的内容main
。
假设所有标题都包括在内。findComplement
翻转数字的位。例如,整数 5 在二进制中是“101”,其补码是“010”,即整数 2。
int main() {
#ifndef ONLINE_JUDGE
freopen("in.txt", "r", stdin);
freopen("out.txt", "w", stdout);
#endif
// helper variables
Solution answer;
int testcase;
// read input file, compute answer, and write to output file
while (std::cin) {
std::cin >> testcase;
std::cout << answer.findComplement(testcase) << "\n";
}
return 0;
}
的内容in.txt
5
1
1000
120
的内容out.txt
2
0
23
7
7