位操作 牛客 位操作練習

2021-09-10 18:17:00 字數 532 閱讀 8193

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

每行有兩個不大於65535的非負整數
對於每一行的兩個整數,輸出一行,內容為yes或no
示例1

複製

2 4
複製

yes
#include

#include

#include

#include

#include

#include

#include

using namespace std;

int main()

}if(flag==0)

printf("no\n");}}

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 給出...

Bailian 位操作練習

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

J 位操作練習 (Java)

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