string a;
cin >> a; // 1010
int x = 0;
// 先转成10进制数字
for(int i = 0; i < a.size(); i++){
x += ((a[i]-'0') << (a.size()-i-1));
}
int revnum;
// 对每一位取反
for(int i = 0; i < a.size(); i++){
revnum = x ^ (1 << i);
cout << revnum << endl;
}
对二进制的每一位分别取反(某一位)
阅读 36
2022-06-27
string a;
cin >> a; // 1010
int x = 0;
// 先转成10进制数字
for(int i = 0; i < a.size(); i++){
x += ((a[i]-'0') << (a.size()-i-1));
}
int revnum;
// 对每一位取反
for(int i = 0; i < a.size(); i++){
revnum = x ^ (1 << i);
cout << revnum << endl;
}
相关推荐
精彩评论(0)