题目描述:给定N,M两个32位整数,以及i、j,将i、j之间的位置为数M对应的二进制位
1 #include <iostream> 2 #include <string> 3 #include <fstream> 4 #include <map> 5 #include <algorithm> 6 #include <vector> 7 #include <ctime> 8 #include <bitset> 9 #include <stack> 10 11 using namespace std; 12 13 int main() 14 { 15 int N,M; 16 cin>>N>>M; 17 int i,j; 18 cin>>i>>j; 19 bitset<32> b1(N); 20 M = M<<i; 21 bitset<32> b2(M); 22 int k = i; 23 while(k <= j) 24 { 25 b1.reset(k); 26 ++k; 27 } 28 N = (int)b1.to_ulong(); 29 N = N|M; 30 cout<<N<<endl; 31 return 0; 32 }