J 位操作練習

2021-08-11 17:11:08 字數 750 閱讀 2311

#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 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

J 位操作練習 (Java)

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

Bailian 位操作練習

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

位操作 牛客 位操作練習

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