对二进制的每一位分别取反(某一位)

caoxingyu

关注

阅读 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)

0 0 举报