更新二進位制位

2021-08-07 06:53:47 字數 445 閱讀 3262

/*

問題描述:給出兩個32位的整數n和m,以及兩個二進位制位的位置i和j。寫乙個方法來使得n中的第i到j位等於m(m會是n中從第i為開始到第j位的子串)

日期:2017-8-22

思路:由於題目的提示中已經給出,i到j有足夠的空間放置m,將n中的第i到j之間的數字全部置為0,最後與m異或即可

#include using namespace std;

/***@param n, m: two integer

*@param i, j: two bit positions

*return: an integer

*/int updatebits(int n, int m, int i, int j)

n = n ^ (m << index);

return n;

}

LintCode 更新二進位制位

給出兩個32位的整數n和m,以及兩個二進位制位的位置i和j。寫乙個方法來使得n中的第i到j位等於m m會是n中從第i為開始到第j位的子串 樣例 給出n 10000000000 2,m 10101 2,i 2,j 6 返回 n 10001010100 2 分析 如果是兩個二進位制的字串,結果就是遍歷陣...

二進位制位運算

與運算,6 3 2 或運算 6 3 7 異或運算 6 3 5 反碼 6 7 左移 3 2 12 3 2 2 12 右移 3 1 1 3 2 1 無符號右移 3 1 1 3 2 1 按位與,當兩位同時為1時才為1如 1 1 1 1 0 0 0 1 0 6 3相當於 0110 0011 0010 2 按...

二進位制位運算

一 按位與 位全為1,結果才為1 0 0 0 0 1 0 1 0 0 1 1 1 特殊用法 清零。如果想將乙個單元清零,就是使其全部二進位制位為0,只要與乙個各位都為零的數值相與,結果為零 取乙個數中的指定位。如x 10101110要取x的低4位,用x 00001111 00001110即可 二 按...