0
点赞
收藏
分享

微信扫一扫

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

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 条评论