首先給出題目:
獲取乙個數二進位制序列中所有的偶數字和奇數字,分別輸出二進位制序列。
題目分析:要想獲取乙個數的奇數字和偶數字,我們可以分別從這個數的二進位制數的前段隔一取位,當然取得位上的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的字段 ...