c簡單位操作

2021-07-27 19:39:31 字數 1087 閱讀 5959

c語言中位運算子之間,按優先順序順序排列為 1 ~ 2 <<、>> 3 & 4 ^ 5 | 6 &=、^=、|=、<<=、>>=

一、第i位替換

description:編寫程式,使得函式返回值為乙個整數,該整數的第i位和m的第i位相同,其他位和n相同。使用bitmanipulation1函式。

input:

第一行是整數 t,表示測試組數。

每組測試資料報含一行,是三個整數 n, m 和 i (0<=i<=31)

output:

對每組輸入資料,每行輸出整型變數n變化後的結果

sample input:

1

1 2 1

sample output:

3

tips

二進位制的最右邊是第0位

#include using namespace std;

int bitmanipulation1(int n, int m, int i)

int main()

return 0;

}

二:左邊i位取反

description:編寫程式,使得函式返回值為乙個整數,該整數的左邊i位是n的左邊i位取反,其餘位和n相同。請使用bitmanipulation3函式。

input:

第一行是整數 t,表示測試組數。

每組測試資料報含一行,是兩個整數 n 和 i (1<=i<=32)。

output:

對每組輸入資料,輸出整型變數n中左邊i位取反的結果。

sample input:

1

0 32

sample output:

-1

tips

注意i從1開始

#include using namespace std;

int bitmanipulation3(int n, int i)

int main()

return 0;

}

簡單位運算

判斷奇偶,二進位制的運算,組合的遍歷.等問題都要用到位運算,所以做個小記錄。按位與 如果兩個相應的二進位制位都為1,則該位的結果值為1,否則為0。按位或 兩個相應的二進位制位中只要有乙個為1,該位的結果值為1。按位異或 若參加運算的兩個二進位制位值相同則為0,否則為1。取反 是一元運算子,用來對乙個...

C 單位轉換器簡單案例

經過幾天學習,寫出了乙個簡單的winform應用程式,貼出原始碼,以備不時之需。軟體啟動後的介面如下圖所示 如圖,該程式由6個label 8個combobox 8個textbox和4個button組成。右邊4個textbox設定readonly屬性為true。軟體啟動時,可以讓combobox顯示預...

簡單位運算入門

左移右移 int x x i 除以2 i,強制取整 x i 乘以2 i 求乙個數的二進位制位中第k位的值 0 or 1?lowbit函式 返回整數的最後一位二進位制對應的數 是樹狀陣列,線段樹的乙個重要組成部分 0 00000 對應0 1 00001 對應1 2 00010 對應2 3 00011 ...