C語言初學記錄 位運算

2022-06-02 21:39:11 字數 719 閱讀 4279

位運算

problem description7-1 陣列元素迴圈右移問題

乙個陣列a中存有n(>0)個整數,在不允許使用另外陣列的前提下,將每個整數迴圈向右移m(≥0)個位置,即將a中的資料由(a0

​​a​1⋯a​n−1)變換為(a​n−m​​ ⋯a​n−1​​ a​0​​ a​1​​ ⋯a​n−m−1​​ )(最後m個數迴圈移至最前面的m個位置)。如果需要考慮程式移動資料的次數盡量少,要如何設計移動的方法?

輸入格式:

每個輸入包含乙個測試用例,第1行輸入n(1≤n≤100)和m(≥0);第2行輸入n個整數,之間用空格分隔。

輸出格式:

在一行中輸出迴圈右移m位以後的整數序列,之間用空格分隔,序列結尾不能有多餘空格。

輸入樣例:

6 21 2 3 4 5 6

輸出樣例:

5 6 1 2 3 4

執行程式

#includevoid swap(int a, int low, int high)

and

void swap(int &a,int &b)

c語言位運算

c語言提供的位運算子列表 運算子 含義 描述 按位與 如果兩個相應的二進位制位都為1,則該位的結果值為1,否則為0 按位或 兩個相應的二進位制位中只要有乙個為1,該位的結果值為1 按位異或 若參加運算的兩個二進位制位值相同則為0,否則為1 取反 是一元運算子,用來對乙個二進位制數按位取反,即將0變1...

C語言位運算

c語言位運算 位運算應用口訣 清零取反要用與,某位置一可用或 若要取反和交換,輕輕鬆鬆用異或 移位運算 1 它們都是雙目運算子,兩個運算分量都是整形,結果也是整形。2 am p 3 amp amp amp qu ot 右 移 右邊 的位被擠 掉。對於 左邊移出 的空位,如果是正 數則空位 補0,若 ...

C語言位運算

位運算是指按二進位制進行的運算。在系統軟體中,常常需要處理二進位制位的問題。c語言提供了6個位操作 運算子。這些運算子只能用於整型運算元,即只能用於帶符號或無符號的char,short,int與long型別。c語言提供的位運算子列表 運算子 含義 描述 按位與 如果兩個相應的二進位制位都為1,則該位...