codeforces 484A bits

添加链接描述
在这里插入图片描述
bitmasks
太强了太强了太强了,二进制收下我的膝盖!

#include<bits/stdc++.h>
using namespace std;
int main()
{
	
	int t;
	cin >> t;
	while (t--) {
		long long a, b, k;
		cin >> a >> b;
		k = a;
		for (int i = 0; i < 64; i++) {
			a |= 1ll<< i;				//把a的第 i 位(从右数起bai) 置1     相当于 a= a | (1ll<<i);					
			if (a > b)					//								|= &= 和+= -= 一样,运算一样
				break;
			
			else if (a > k)
				k = a;
				
		}
		cout << k << "\n";
	}
/*
	long long a;
	a = 1LL << 60;					//注意:这里LL 或者 ll 都是把int转化成long long, 只能写LL 或ll,而且位置必须固定在这里
	cout << a << "\n";
	*/
	return 0;
}


 
posted @ 2020-08-03 12:51  DuJunlong  阅读(8)  评论(0编辑  收藏  举报  来源