Bailian 位操作練習

2021-09-27 01:31:02 字數 822 閱讀 5445

給出兩個不大於65535的非負整數,判斷其中乙個的16位二進位制表示形式,是否能由另乙個的16位二進位制表示形式經過迴圈左移若干位而得到。

迴圈左移和普通左移的區別在於:最左邊的那一位經過迴圈左移一位後就會被移到最右邊去。比如:

1011 0000 0000 0001 經過迴圈左移一位後,變成 0110 0000 0000 0011, 若是迴圈左移2位,則變成 1100 0000 0000 0110

input

第一行是個整數n, 0 < n < 300000,表示後面還有n行資料

後面是n行,每行有兩個不大於65535的非負整數

output

對於每一行的兩個整數,輸出一行,內容為yes或no

sample input

4

2 49 18

45057 49158

7 12

sample output

yes

yesyes

no

**分析:必須先了解迴圈移位,然後水過。

ac**:

//bailian-位操作練習 

#include

typedef

unsigned

short us;

using namespace std;

intmain()

}if(mark==true) cout<<

"yes\n"

;else cout<<

"no\n";}

return0;

}

J 位操作練習

include using namespace std include string change long int a while res.length 16 res.insert 0,1,0 return res int main if flag cout yes else cout no 給出...

位操作 牛客 位操作練習

給出兩個不大於65535的非負整數,判斷其中乙個的16位二進位制表示形式,是否能由另乙個的16位二進位制表示形式經過迴圈左移若干位而得到。迴圈左移和普通左移的區別在於 最左邊的那一位經過迴圈左移一位後就會被移到最右邊去。比如 1011 0000 0000 0001 經過迴圈左移一位後,變成 0110...

J 位操作練習 (Java)

給出兩個不大於65535的非負整數,判斷其中乙個的16位二進位制表示形式,是否能由另乙個的16位二進位制表示形式經過迴圈左移若干位而得到。迴圈左移和普通左移的區別在於 最左邊的那一位經過迴圈左移一位後就會被移到最右邊去。比如 1011 0000 0000 0001 經過迴圈左移一位後,變成 0110...