關於位移運算子的理解和典型題目的講解

2021-07-10 15:48:58 字數 493 閱讀 5131

首先給出題目:

獲取乙個數二進位制序列中所有的偶數字和奇數字,分別輸出二進位制序列。

題目分析:要想獲取乙個數的奇數字和偶數字,我們可以分別從這個數的二進位制數的前段隔一取位,當然取得位上的0和1不能直接輸出,要和二進位制數1相與,因為1和任何數相與等於任何數本身。

函式分析:乙個數的二進位制位為32位元位,若輸出偶數字,則從第31位,開始移位向後所以可以寫成迴圈for(i=31,i>0,i-=2),同樣如輸出奇數字迴圈可寫為for(i=30,i>0,i-

=2);

進去以後,讓n的移到的數與1相與,輸出結果。

**如下:

#include

int main()

printf("\n");

printf("奇數字是:");

for(i=30;i>=0;i-=2)

printf("\n");

return 0;}

以上僅是個人解決方法,大家相互學習共同進步。相互關注,相互點讚

Java位移運算子的原理和作用

總體概念 1.位移運算子只對位進行操作 2.只能操作int整型資料型別 3.右移補高位,左移補底位 有正負之分的右位移運算子,把位元組向右移由右邊運算元指定的位數,如果左邊運算元是正數,則移動的高位補0 反之則補1 無符號之分的右移運算子,即不管左邊運算元的正負,高位都補0 左移運算子,向左移動由右...

java位移運算子的原理和作用

總體概念 1.位移運算子只對位進行操作 2.只能操作int整型資料型別 3.右移補高位,左移補底位 有正負之分的右位移運算子,把位元組向右移由右邊運算元指定的位數,如果左邊運算元是正數,則移動的高位補0 反之則補1 無符號之分的右移運算子,即不管左邊運算元的正負,高位都補0 左移運算子,向左移動由右...

關於exists運算子的理解

exists運算子是用來檢查每一行是否匹配子查詢,也可以這麼認為exists就是用來測試子查詢的結果是否為空,如果結果集為空則匹配結果為false,否則匹配結果為true。下面我通過oracle表舉幾個例子,下面我給出三張表,t book,t category,t reader。t book的字段 ...