目录
牛客CM26 二进制插入
解析代码
牛客CM26 二进制插入
二进制插入_牛客题霸_牛客网
解析代码
m:1024:100000000 00 n:19 : 10011 要把n的二进制值插入m的第j位到第i位,只需要把n先左移j位,然后再进行或运算(|)即可
class BinInsert {
public:int binInsert(int n, int m, int j, int i) {// 1 2 4 8 16 32 64 128 256 512 1014// 1024 + 2 + 4 + 32 =// 1024 + 4 + 8 + 64 = 1024 + 76// 10000000000// 10011// 10001001100return n |= (m << j); // 法1//for (int k = j; k <= i; ++k) // 法2//{// if (m & 1)// {// n |= (1 << k);// }// m >>= 1;//}// return n;}
};